Проблема с написанием команд telebot python Telegram. /ban
Всем здравствуйте, я пишу бота на telegram, на библиотеке telebot. Делаю бота для группы. Сначала сделал удаление сообщений, в случае обнаружения нецензурной лексики, но, сами понимаете, обнаружить нецензурные выражения не так-то просто в наше время, когда русскую б могут заменить на 6(шесть(один и тот же символ, согласитесь)). Поэтому решил создать команду по типу /ban. В самой команде нет проблем, а вот в её реализации есть проблемы. Помогите написать код, чтобы на сообщение /ban модератора (это сообщение будет ответом модератора на сообщение другого "плохого" пользователя) бот отвечал изгнанием из группы "плохого" человека и не давал ему возможности зайти по его id. Сам бот тоже является модератором группы. Возможно ли это вообще сделать с библиотекой telebot?
Ответы (1 шт):
Да возможно:
@bot.message_handler(commands=['ban'])
def kick_user(message):
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
user_status = bot.get_chat_member(chat_id, user_id).status
if user_status == 'administrator' or user_status == 'creator':
bot.reply_to(message, "Невозможно забанить администратора.")
else:
bot.kick_chat_member(chat_id, user_id)
bot.reply_to(
message,
f"Пользователь {message.reply_to_message.from_user.username} был забанен.")
else:
bot.reply_to(
message,
"Эта команда должна быть использована в ответ "
"на сообщение пользователя, которого вы хотите забанить.")