Как подключить бота к беседе в ВК?
Пишу бота. В личной беседе работает как надо, но мне нужно,чтобы он работал в стороннем чате. Сделал уже все: разрешил сообществу добавляться в беседы, добавил бота в беседу, сделал его админом. Но ничего не происходит
import random
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
from intbot import IntBot
def write_msg(user_id, message):
vk.method('messages.send', {'user_id': user_id, 'message': message, 'random_id': random.randint(0, 2048)})
# API-ключ созданный ранее
token = "_______________________________________________________e"
# Авторизуемся как сообщество
vk = vk_api.VkApi(token=token)
# Работа с сообщениями
longpoll = VkLongPoll(vk)
vk_api = vk.get_api()
# Основной цикл
for event in longpoll.listen():
# Если пришло новое сообщение
for event in longpoll.listen ( ):
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
print ('New message:')
print (f'For me by: {event.user_id}', end='')
bot = IntBot (event.user_id)
write_msg (event.user_id, bot.new_message (event.text))
print ('Text: ', event.text)
Ответы (2 шт):
Проблема в версии API, не все версии работают в беседах. Я использую 5.89
Надо функции поменять вот эти (VkLongPoll, VkEventType) к ним надо подписать бот а точнее (VkBotLongPoll, VkBotEventType) везде нужно поменять и это тоже нужно поменять(if event.type == VkEventType.MESSAGE_NEW:) на это (if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat and event.message.get('text') !="":) - это проверка на смс и если у бота есть бд в юзер ид то бот должен работать в беседе я могу тебе видео кинуть как зделать чтоб бот отвечал на смс в беседе он понятливо обьясняет и каждую деталь поясняет а я писать умею но не могу обьяснить что к чему