OhMySenpai
@OhMySenpai
Начинающий программист

Бот не отправляет сообщение в беседу?

Привет, Хабр! Я столкнулся с проблемой...
Бот попросту не работает в беседе, дал доступ к переписке, включил longpoll, в настройках лонгполл дал доступ ко всему и тишина...
import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import requests
from vk_api.longpoll import VkEventType


vk_session = vk_api.VkApi(token="токен")

vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, "айди сообщества")

for event in longpoll.listen():
    if event.type == VkBotEventType.MESSAGE_NEW:
        if event.obj.text == 'тест':
            if event.from_chat:
                vk.messages.send(
                        random_id=get_random_id(),
                        peer_id=event.obj.peer_id,
                        message="Ну вроде бы работает")

Заранее спасибо!
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
@alekssamos
Программист любитель
Ему нужно не только выдать доступ ко всей переписке, именно как все, не только упоминаниями, но и сделать администратором. Вот тогда будет работать и без его упоминаний. Я с этим сталкивался тоже

UPD: через точку в новых версиях не работает почему-то.
for event in longpoll.listen():
    if event.type == VkBotEventType.MESSAGE_NEW:
        m = event.object.message
        if m["text"] == 'тест':
            vk.messages.send(
                    random_id=get_random_id(),
                    peer_id=m["peer_id"],
                    message="Ну вроде бы работает")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@cython
Для того, чтоб бот получил сообщение в беседу, нужно обращаться именно к нему, либо как reply на сообщение бота, либо через @bot_name или *bot_name и дальше текст.
Ответ написан
Ваш ответ на вопрос

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

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