VkBotLongPoll примеры ботов
import requests
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import random
bot_session = vk_api.VkApi(token="Токен сообщества-бота, доступ ко всему")
bot_api = bot_session.get_api()
while True:
longpoll = VkBotLongPoll(bot_session, "id сообщества-бота")
try:
for event in longpoll.listen():
#...
except requests.exceptions.ReadTimeout as timeout:
continue
У кого есть РАБОЧИЕ боты для ГРУППЫ В БЕСЕДУ, чтобы бот только отвечал в БЕСЕДУ. Перерыл пол интернета ничего не нашел рабочего
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Ваш пример рабочий. А чтобы бот отвечал только на события из беседы, можно проверять флаг event.from_chat.
Пример:
from vk_api import VkApi
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
from vk_api.utils import get_random_id
vk_session = VkApi(token='access_token') # Подставьте свой
longpoll = VkBotLongPoll(vk_session, 'group_id') # Подставьте свой
vk = vk_session.get_api()
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
vk.messages.send(
message='Test message',
peer_id=event.obj['message']['peer_id'],
random_id=get_random_id(),
)
Не забудьте включить Long Poll API в настройках сообщества и подписаться на нужные события:

