Как боту получить ID беседы в VK
Пишу бота для бесед (простенький игровой бот) . И у меня есть база данных для хранения групп и их игроков. Теперь мне необходимо как либо назвать этот столбик в базе , чтобы он был привязан к этой беседе. Я решил использовать уникальный id беседы для вк , но как его получить я не знаю. Пытался несколькими способами но они не сработали
1 способ Тут вылетает ошибка Group authorization failed: method is unavailable with group auth.
vk.messages.getChat(chat_id = event.chat_id)['title']
2 Способ в этом способе id группы почему то 1
print(event.chat_id)
Вот весь код
import vk_api, json
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType , VkBotMessageEvent
import speech
import dataBase
from vk_api.utils import get_random_id
session = vk_api.VkApi(token = main_token)
longpoll = VkBotLongPoll(*******,*********)
vk = session.get_api()
for event in longpoll.listen():
print(event.chat_id)
if event.type == VkBotEventType.MESSAGE_NEW and (action := event.obj['message'].get('action')):
if action['type'] == 'chat_invite_user':
sender(event ,f"Welcome To the Jungle {getUserName(event.obj['message']['from_id'])}")
dataBase.addPlayer(event.obj['message']['from_id'])
if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
if "!инфо" in str(event):
sender(event ,speech.info)
Ответы (1 шт):
Смотрю, этот вопрос уже тут висит год без ответа, а у меня та же проблема. Ты случайно не нашёл решение сам?
У меня вообще ошибка AttributeError: 'Event' object has no attribute 'chat_id'
Что ж, я нашёл решение свой проблемы, флаг chat_id = event.from_chat говорит мне, что сообщение из беседы