message_handler
, так и в callback_query_handler
у объекта сообщения есть встроенные функции, которые облегчают задачу редактирования/ответа. Пример с вамим кодом:await callback_query.answer()
await callback_query.edit_text(text='не знаю') # reply_markup нет смысла указывать None, он по дефолту None
tg//user?id=
). но видимо это не ваш случай.get_chat_member
пробовали (это если юзер в группе)? А если у бота с ним есть личка, то можно через .get_chat
keyboard = types.InlineKeyboardMarkup(row_width=1)
return markup
def showChannels():
markup = types.InlineKeyboardMarkup()
for channel in sponsorChannels:
markup.add(types.InlineKeyboardButton(text=channel[1], url=channel[2]))
markup.add(types.InlineKeyboardButton(text="Я ПОДПИСАЛСЯ", callback_data="subchanneldone"))
return markup
from pyrogram.types import (InlineKeyboardMarkup, InlineKeyboardButton)