Всех приветствую, возможно не совсем корректно сформулировал вопрос, айм сорри. В общем я хочу сделать так, чтобы функции бота, не были доступны, пока пользователь не подпишется на канал. Пробовал реализовать это через глобальную переменную - флажок, но как-будто есть другая функция для реализации этого, перечитал доки, не могу найти что-то. Буду благодарен за помощь.
@dp.message(CommandStart())
async def command_start_handler(message: Message):
kb_start = InlineKeyboardBuilder()
kb_start.add(InlineKeyboardButton(
text='Подписаться',
url='....')
)
kb_start.add(InlineKeyboardButton(
text='Проверить',
callback_data='check')
)
...
@dp.callback_query(F.data == "check")
async def check_subscribe(callback: types.CallbackQuery, bot: Bot):
member_status = await bot.get_chat_member(chat_id='@...', user_id=callback.message.chat.id)
if member_status.status != 'left':
await callback.answer("Вы являетесь участником канала ☑️")
else:
await callback.answer("Вы не являетесь участником канала ❌")
...