Telegram bot забанить пользователя в инлайне
Не получается сделать бан для пользователя в инлайне. Я использую такую систему бана - добавлять id пользователя в таблицу бан mysql Перед тем как ответить на действие пользователя, он проверяет по таблице не состоит ли его id в бане. На обычные кнопки или запросы по вводу данных все работает нормально. Ты добавил пользователя в таблицу, и ему сразу выдает сообщение "Ты забанен" на любое действие. Но с инлайном это не сработает. Сам бан я настроил но если забаненный пользователь не будет перезапускать бота или нажимать обычные кнопки, а только дальше пользоваться инлайном, тогда бан инлайна не выскочит.
Прилагаю код
banam = []
@bot.message_handler(commands = ['start'])
def first(message):
p = ('SELECT user_id FROM blockuser')
cursor.execute(p)
for p in cursor:
banam.append(p[0])
ban = list(set(banam))
if int(message.chat.id) in ban:
bot.send_message(message.chat.id, "Вы забанены")
#Сам инлайн
@bot.callback_query_handler(func=lambda c: True)
def inlin(c):
ban = list(set(banam))
try:
if c.data == 'nazad':
if c.message.chat.id in ban:
bot.send_message(c.message.chat.id, 'BAN')
else:
bot.edit_message_media(media=types.InputMedia(type='photo', media=const.PHOTOINLINE1),
chat_id=c.message.chat.id, message_id=c.message.message_id, reply_markup=inline2())