duzive
@duzive
Тут должно быть описание

Ошибка в консоли при написании сообщения боту. Как исправить?

Решил написать бота для ВКонтакте. Выдаёт ошибку при написании любого сообщения, связана с id. Вот код:

import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType

coding: 'utf-8'

def write_msg(user_id, message):
    vk.method('messages.send', {'user_id': user_id, 'message': message})


token = "мой токен"

vk = vk_api.VkApi(token=token)

longpoll = VkLongPoll(vk)

for event in longpoll.listen():

    if event.type == VkEventType.MESSAGE_NEW:
   
        if event.to_me:
        
            request = event.text
            
            if request == "привет":
                write_msg(event.user_id, "Привет")
            if request == "пока":
                write_msg(event.user_id, "Пока", )
            if request == "как жизнь":
            	write_msg(event.user_id, "Норм, у тебя как?")
            else:
                write_msg(event.user_id, "Не понял вашего ответа...")
print("Бот запущен")
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
total4c
@total4c
Говнокодер
У вас отсутствует параметр random_id в send_msg, а так же желательно, любое сообщение боту приравнивать к нижнему регистру, т.е:

def write_msg(user_id, message):
    vk.method('messages.send', {'user_id': user_id, 'message': message, 'random_id': 0})
request = event.text.lower()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы