Python callback vk_api не работает код для show_snackbar в ЛЮБЫХ беседах
Всем привет, пишу код для своей беседы, она не привязана к сообществу, для поднятия актива в беседе, решил создать бота-крокодила, функционал уже разработан, но код для показа snackbar не работает в беседе, только в личных сообщениях сообщества, хотелось бы получить информацию о том как подстроить этот код под ЛЮБЫЕ непривязанные к группам беседы
ВОТ КОД:
from vk_api import VkApi
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor
import json
import vk_api
GROUP_ID = '195...883'
GROUP_TOKEN = '804...520'
API_VERSION = '5.131'
# для callback-кнопки "открыть приложение"
OWNER_ID = 38...08 # id владельца приложения
# виды callback-кнопок
CALLBACK_TYPES = ('show_snackbar', 'open_link')
# Запускаем бот
vk_session = VkApi(token=GROUP_TOKEN, api_version=API_VERSION)
vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, GROUP_ID)
# Настройки для обоих клавиатур
settings = dict(one_time=False, inline=True)
# №1. Клавиатура с 3 кнопками: "показать всплывающее сообщение", "открыть URL" и изменить меню (свой собственный тип)
keyboard_1 = VkKeyboard(**settings)
# pop-up кнопка
keyboard_1.add_callback_button(label='Покажи pop-up сообщение', color=VkKeyboardColor.SECONDARY, payload={"type": "show_snackbar", "text": "Это исчезающее сообщение"})
keyboard_1.add_line()
#еще попа ап))))
keyboard_1.add_callback_button(label='Покажи еще pop-up', color=VkKeyboardColor.PRIMARY, payload={"type": "show_snackbar", "text": "Это еще исчезающее сообщение"})
f_toggle: bool = False
for event in longpoll.listen():
# отправляем меню 1го вида на любое текстовое сообщение от пользователя
if event.type == VkBotEventType.MESSAGE_NEW:
if event.obj.message['text'] != '':
if event.from_user:
# Если клиент пользователя не поддерживает callback-кнопки,
# нажатие на них будет отправлять текстовые
# сообщения. Т.е. они будут работать как обычные inline кнопки.
if 'callback' not in event.obj.client_info['button_actions']:
print(f'Клиент {event.obj.message["from_id"]} не поддерживает callback')
vk.messages.send(
user_id=event.obj.message['from_id'],
random_id=get_random_id(),
peer_id=event.obj.message['from_id'],
keyboard=keyboard_1.get_keyboard(),
message=event.obj.message['text'])
# обрабатываем клики по callback кнопкам
elif event.type == VkBotEventType.MESSAGE_EVENT:
# если это одно из 3х встроенных действий:
if event.object.payload.get('type') in CALLBACK_TYPES:
# отправляем серверу указания как какую из кнопок обработать. Это заложено в
# payload каждой callback-кнопки при ее создании.
# идентификаторы кнопок, а здесь по ним определить
r = vk.messages.sendMessageEventAnswer(
event_id=event.object.event_id,
user_id=event.object.user_id,
peer_id=event.object.peer_id,
event_data=json.dumps(event.object.payload))
if __name__ == '__main__':
print()
ЗАРАНЕЕ СПАСИБО ЗА ОТВЕТ