Just1n
@Just1n
Цифровой воин

Почему бот не отвечает на сообщение?

Бот получает сообщение, видит его, но не отвечает на него.
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import vk_api

vk = vk_api.VkApi(token='тут мой токен')
vk._auth_token()
vk.get_api()

longpoll = VkBotLongPoll(vk, id моей группы)

while True:
    for event in longpoll.listen():
        if event.type == VkBotEventType.MESSAGE_NEW:
            if event.object.peer_id == event.object.from_id:
                print('Сообщение получено 1')
                if event.object.text.lower() == "Привет":
                    print('Сообщение получено 2')
                    vk.messages.send(peer_id=event.object.peer_id, message='Привет!', random_id=0)

В терминал выводится "Сообщение получено 1", а "Сообщение получено 2" - нет.
Скорее всего ошибка в этом куске, но как её решить ?
if event.object.text.lower() == "Привет":
  • Вопрос задан
  • 604 просмотра
Решения вопроса 1
d4mk0f
@d4mk0f
Старость - не страшно, а PHP - не смертельно.
Побуду вангой, но скорее всего, функция lower() возвращает привет, а не Привет.
Поэтому ваше условие всегда ложно.

UPD:

Замените строку "Привет" строкой "привет"

Ну и, научитесь отлаживать ваш код, это хороший навык.

Выведите содержимое значения event.object.text.lower() перед выполнением последнего условия.
Чтобы увидеть какое значение находится в этой переменной.

print(event.object.text.lower())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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