import telebot
import time


bot = telebot.TeleBot('секрет')  

admins = [5177470092, 5991581214, 2022502712] 

# Обработчик команды /eblan для ограничения пользователя
@bot.message_handler(commands=['eblan'])
def mute_user(message):
    if message.from_user.id in admins:
        if message.reply_to_message:
            chat_id = message.chat.id
            user_id = message.reply_to_message.from_user.id

            try:
                user_status = bot.get_chat_member(chat_id, user_id).status
            except telebot.apihelper.ApiException as e:
                bot.reply_to(message, f"Ошибка получения информации о пользователе: {e}")
                return

            if user_status in ['administrator', 'creator']:
                bot.reply_to(message, "Ты еблан? Админы не ебланы")
            else:
                duration = 60  # Значение по умолчанию - 1 минута
                args = message.text.split()[1:]
                if args:
                    try:
                        duration = int(args[0])
                    except ValueError:
                        bot.reply_to(message, "Неправильный формат\nПример - /eblan 120\n(Число = минуты)")
                        return
                    if duration < 1:
                        bot.reply_to(message, "Время должно быть положительным числом.")
                        return
                    if duration > 1440:
                        bot.reply_to(message, "Максимум = 1440 минут (1 день)")
                        return
                bot.restrict_chat_member(
                    chat_id,
                    user_id,
                    can_send_messages=False,
                    can_send_media_messages=False,
                    can_send_other_messages=False,
                    can_add_web_page_previews=False,
                    until_date=int(time.time()) + duration * 60
                )
                bot.reply_to(message, f"Еблан {message.reply_to_message.from_user.first_name} заткнут на {duration} минут.")
        else:
            bot.reply_to(message, "Пожалуйста, используйте команду в ответе на сообщение пользователя, которого хотите заткнуть.")
    else:
        bot.send_message(message.chat.id, 'У вас нет доступа к этой команде.')

@bot.message_handler(commands=['uneblan'])
def unmute_user(message):
    if message.from_user.id in admins:
        if message.reply_to_message:
            chat_id = message.chat.id
            user_id = message.reply_to_message.from_user.id
            bot.restrict_chat_member(
                chat_id,
                user_id,
                can_send_messages=True,
                can_send_media_messages=True,
                can_send_other_messages=True,
                can_add_web_page_previews=True
            )
            bot.reply_to(message, f"Еблан {message.reply_to_message.from_user.first_name} разебланен.")
        else:
            bot.reply_to(message, "Пожалуйста, используйте команду в ответе на сообщение пользователя, которого хотите разебланить.")
    else:
        bot.send_message(message.chat.id, 'У вас нет доступа к этой команде.')  

# Список запрещённых слов или фраз
bad_words = ['как скачать', 'дай тутор', 'дай чит']

def check_message(message):
    if message.text:
        message_text = message.text.lower()
        for word in bad_words:
            if word in message_text:
                return True
    return False

@bot.message_handler(func=lambda message: True)
def handle_message(message):
    if check_message(message):
        try:
            bot.ban_chat_member(message.chat.id, message.from_user.id)
            bot.send_message(message.chat.id, f"Eblan Detected - {message.from_user.first_name} banned.")
        except telebot.apihelper.ApiException as e:
            bot.send_message(message.chat.id, f"Не удалось забанить пользователя: {e}")
    else:
        if message.text:
            print(message.text)

bot.infinity_polling() Чтобы робил с тегом и айди типо
/eblan @Deagle228 (id @12345678), добавь команду /inf и покажет информацию пользователя, когда создал аккаунт, его тег, имя, фамилия, айди. Используй бд чтобы работать удобнее с администрацией, нужно сделать команду /settings, там уже настройки чата и администратора в лс (дает тому, кого вызвали и то является администратором или нет), переделать мут (не в минутах, а в: m - минуты, h - часы, d - дни (>30d = 1 месяц), например: /eblan @Deagle228 3d, а если после днях идет текст то добавляется причина. Команда /ebalan228 @Deagle228 - это бан пользователя (так же, после ввода юзера тега или айди для бана, после них будет текст, то будет бан с причиной (типо бот ответит кого бан и причину)). Насчет настройки чата, там бот в лс скинет текст, под текстом будут кнопка (администрация), в кнопке администрации будут кнопки: добавить админа, убрать админа, список админа, разрешения. Чтобы добавить или убрать админа, то надо после нажатие кнопки ввести айди человека (@123456789), список админов - это просто покажет скок админов в чате для данного бота. Разрешения - бот даст кнопки (тег ЮЗ админа/id, разрешение на мут (да/нет), разрешение на бан (да/нет)), на пользователя кнопка не будет работать, вот разрешения на доступ будут, и гл админ будет или разрешать или блокировать.