@FlakeSunrise

Бот отправляет много сообщений?

Сделал бота, проверил все работает, отвечает сразу, только вот проблема, я пишу ему одно сообщение, а он начинает отвечать без остановки, в чем проблема не знаю, так как только начал всем этим заниматься. Приложу скрин
5e0fad346bf6a139244869.png

import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
import random


token = 
vk = vk_api.VkApi(token=token)
longpoll = VkLongPoll(vk)


def write_message(user_id, message):
    vk.method('messages.send', {'user_id': user_id, 'message' : message, 'random_id': random.randint(0, 100000)})






def main():
    for event in longpoll.listen():
        if event.type == VkEventType.MESSAGE_NEW:
            if event.to_me:
                request = event.text
                if event.to_me:
                        request = event.text.lower()
                        if request == 'привет':
                                write_message(event.user_id, 'И тебе привет мой друг!')

main()
  • Вопрос задан
  • 1118 просмотров
Решения вопроса 1
@anerev
Как я понял когда вы пишете боту в первый раз то при проверке что сообщение для вас (бота) присваиваете request значение сообщения, а уже после проверяете что оно содержит, так вот .MESSAGE_NEW реагирует и на сообщение которые вы посылаете от имени бота в ответ на запрос, но так как они не от вас содержимое request не меняется и всегда содержит "привет". Так что вот как должно быть:
if event.to_me:
    request = event.text
    if request == 'привет':
        write_message()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы