Vk Api: Проблема с ботом
Вечер добрый! Столкнулся с такой проблемой: бот отвечает на сообщение вызывающее команду вместо последующего. Нагляднее покажу далее.
def blasthack(id, text):
bh.method('messages.send', {'user_id' : id, 'message' : text, 'random_id': 0})
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
message = event.text.lower()
id = event.user_id
if message == 'название команды':
blasthack(id, 'Введите любое что-то там')
text = message
blasthack(id, 'Текст: ' + text)
blasthack(id, 'типо текст')
Тут бот отвечает не на текст который вводит пользователь после активации команды, а на саму команду.
Привожу пример:
Я: название команды Бот: Введите любое, что-то там Бот: Текст: отзыв
Надеюсь понятно, объяснил.
Это первое. Второе, при добавлении в if оператор or - происходит интересная хренотень. То есть:
if message == 'тест' or 'test':
blasthack(id, 'тест test')
else:
messages = ['Прости, я тебя не понял!', 'Ой, не расслышал, можешь повторить?', 'Я не
знаю это слово можешь перефразировать?']
msg_fail = random2.choice(messages)
blasthack(id, msg_fail )
Что-же выдаёт мне бот:
Я: тест Бот: тест test Я: test Бот: тест test Я: йгнапунгвфып Бот: тест test ( вместо блока else )
P.s: знаю, что пишу максимально тупо и глупо, но после тяжёлого дня уже сил нет нормально и качественно всё расписывать, сел за дебаггинг и чуть не сдох. Надеюсь на помощь и желаю терпения тем кто откликнется на данный вопрос :)
Ответы (1 шт):
Проблема в условии if. Попробуйте так:
if message == 'тест' or message == 'test':