Ограничение использование команды в Telegram, pytelegrambotapi(не асин)

Рейтинг: 0Ответов: 0Опубликовано: 30.06.2023

Новичок в Python, использую библиотеку для начала pyTelegramBotAPI. Прошу помочь с ограничением администраторских команд(по типу ban, mute, warn) и прочее для обычных участников(т.е у которых нет прав администратора). Вариант с id администраторов мне не подходит, ведь если бот станет крупным, не буду же я вручную вписывать айди каждого администратора, правильно?)

Даю для примера команду kick:

@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, "❗ Произошла ошибка при попытке исключения данного пользователя из чата! Код ошибки - 408.")
        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, "Эта команда должна быть использована в ответ на сообщение пользователя, которого вы хотите кикнуть!")

Если код устаревший, то буду благодарен если улучшите его.

Ответы

Ответов пока нет.