Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2019, 00:52   #1
max_222
Новичок
Джуниор
 
Регистрация: 26.07.2019
Сообщений: 1
Восклицание бот для вконтакте на python

Уже несколько часов сижу и пытаюсь найти ошибку
когда нажимаю на кнопку ничего не происходит ошибок не выдает
мне уже утром надо сдать готового бота
пожалуйста помогите


Код:
import vk_api
from vk_api.keyboard import VkKeyboard, VkKeyboardColor

token = "тут мой token"

vk = vk_api.VkApi(token=token)
vk._auth_token()

def keyboard():
kb = VkKeyboard(one_time=False)

kb.add_button('Предложить запись', color=VkKeyboardColor.POSITIVE)

kb.add_line()
kb.add_button('Вызов админа', color=VkKeyboardColor.NEGATIVE)

kb.add_line()
kb.add_button('Жалоба', color=VkKeyboardColor.NEGATIVE) 

kb.add_line()
kb.add_button('Играть', color=VkKeyboardColor.POSITIVE) 

return kb.get_keyboard()

while True:
messages = vk.method("messages.getConversations", {"cout":20, "filter":"unanswered"})
if messages['count'] > 0:
id = messages['items'][0]['last_message']["from_id"]
message_text = messages['items'][0]['last_message']["text"]
message_id = messages['items'][0]['last_message']["id"]

if message_text.lower() == "начать":
vk.method("messages.send", {"peer_id":id, "random_id":message_id, "message":"Выберите команду", "keyboard": keyboard()}) 

if message_text.lower() == 'Вызов админа': 
text = "Ожидайте"
vk.method("messages.send", {"peer_id":id, "message":text, "random_id":message_id})

elif message_text.lower() == "Предложить запись":
text = "Нажмите на предложить новость"
vk.method("messages.send", {"peer_id":id, "message":text, "random_id":message_id})

elif message_text.lower() == "Жалоба": 
text = "Опишите проблему"
vk.method("messages.send", {"peer_id":id, "message":text, "random_id":message_id})

Последний раз редактировалось Аватар; 26.07.2019 в 12:03.
max_222 вне форума Ответить с цитированием
Старый 26.07.2019, 12:02   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

1) Код отформатируйте - болшая кнопка [ CODE ] прямо над текстом
2) Что не работает-то?
Black Fregat вне форума Ответить с цитированием
Старый 27.07.2019, 13:09   #3
zdus2757
vk.com/replog
Пользователь
 
Регистрация: 04.05.2012
Сообщений: 87
По умолчанию

Код:
if message_text.lower() == "начать":
смотри, этот иф сработает. ты делаешь lower() строки, т.е. в нижний регистр её кидаешь, но

Код:
f message_text.lower() == 'Вызов админа': 
elif message_text.lower() == "Предложить запись":
elif message_text.lower() == "Жалоба":
эти условия не сработают ибо ты делаешь текст как "жалоба" и сверяешь с "Жалоба" - что даст False

вообще код особо не смотрел. но это как минимум первая ошибка, ну кроме отступов конечно(мб они у тебя в коде есть а тут просто не поставил)
zdus2757 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начальный уровень Python. Функции - Python YYYUUU Python 5 09.06.2017 12:09