@Skauyt

Как сделать бота,читающего сообщение вк?

Хочу сделать бота,который реагирует на личное сообщение вк. Приведу пример,пользователь пишет любой текст в мою личку ВКонтакте,бот обрабатывает это сообщение и самостоятельно от моего аккаунта пишет ему какое-нибудь сообщение. Нашел в документации messages.get,однако метод уже устарел. Как это можно реализовать ?
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
WolfInChains
@WolfInChains
Через longpoll. Но чтобы отвечал только в лс нужно проверять еще откуда приходит ивент, этот вариант и в беседу будет отвечать. Я уже не помню точно как там сделать проверку (но вроде как добавить if event.from_user: после команды / строки if event.type == VkEventType.MESSAGE_NEW:), в интернете примеров куча.

from vk_api.longpoll import VkLongPoll, VkEventType

vk_session = vk_api.VkApi(token="токен от страницы")
longpoll = VkLongPoll(vk_session)
vk = vk_session.get_api()


def send_msg(peer_id: int, message: str, attachment: str = ""):
    return vk.messages.send(**locals(), random_id=0)


for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW:		
        # если вообще на любое сообщение, то убираем строку if event.text == 'текст который пишет пользователь': 
        if event.text == 'текст который пишет пользователь': 
            send_msg(event.peer_id, 'ответ бота')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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