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() == "Привет":

UPD от 27.04.2020:
Я был очень тупым когда задавал этот вопрос, мне очень стыдно, простите
  • Вопрос задан
  • 2147 просмотров
Решения вопроса 1
d4mk0f
@d4mk0f
Старость - не страшно, а PHP - не смертельно.
Побуду вангой, но скорее всего, функция lower() возвращает привет, а не Привет.
Поэтому ваше условие всегда ложно.

UPD:

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

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

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

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

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

Похожие вопросы
25 нояб. 2024, в 21:54
20000 руб./за проект
25 нояб. 2024, в 21:39
3000 руб./за проект
25 нояб. 2024, в 21:34
7000 руб./за проект