Проверка подписки пользователя на канал телеграмм Telebot InlineKeyboard
Проверка работает через
for i in statuss:
if i == bot.get_chat_member(chat_id=my_channel_id, user_id=message.from_user.id).status:
markup.add(btnsub)
markup.add(btngetmat1)
bot.send_message(message.chat.id,"Здравствуйте, " + message.chat.username + ' 👋\n\n' + 'Подпишитесь на наш телеграм-канал\n и получите каталоги нашей продукции.👇',
reply_markup=markup)
break
else:
msg2 = bot.send_message(message.chat.id,
"Здравствуйте, " + message.chat.username + ' 👋\n\n' + 'Подпишитесь на наш телеграм-канал\n и получите каталоги нашей продукции.👇',
reply_markup=None)
markup.add(btnsub,btngetmat2)
msg = bot.send_message(message.chat.id, "Подпишись на канал для продолжения",reply_markup=markup)
кнопка "btngetmat2" провести проверку, после чего я вызываю start(call.message). но user id уже получается бота а не пользователя, и выходит что вторая проверка проходит, потому что бот в подписках есть.
Источник: Stack Overflow на русском