Как стать автором
Обновить

Комментарии 7

весь код будет без табуляции .. я так и не разобрался, как добавлять табуляцию на хабре

@bot.message_handler(commands=['unmute'])
def unmute_user(message):
  if message.reply_to_message:
    chat_id = message.chat.id
    user_id = message.reply_to_message.from_user.id
# ...

Просто нажал [Tab] в начале нескольких строк (редактор вместо tab добавляет два пробела), всё ок ?

Если вставить (Ctrl + V) кусок кода из IDE/github, то получается так:

# Обработчик команды /start
@bot.message_handler(commands=['start'])
def start(message):
    bot.reply_to(message, "Привет! Я бот для управления чатом. Напиши /help, чтобы узнать, что я умею.")

# Обработчик команды /help

Благодарю. Выяснилось, что добавления окошка "код" и форматирование выделением текста - разные вещи. Отредактировал

Тестируем на жене

Просится фраза: В процессе теста ни одна жена не пострадала. :)

Вы храните статистику в словаре, а значит в памяти. При падении или перезапуске вся статистика обнулится, поэтому можно подключить простую tinydb.

В нескольких хендлерах вы проверяете статус юзера на админа ифами, нарушаете DRY :) может вынести в отдельную функцию и использовать оператор in?

Переменная duration с параметром по умолчанию намекает на то, что это константа, как и bad_words, можно вынести отдельно.

В хендлерк mute_user сно использовать моржовый оператор, где проверка args.

В хендлере mute_user можно*

Как интересную опцию можно рассмотреть возможность по подозрительным словам отправлять сообщение на проверку с помощью open AI API чтобы нейросеть дала свое мнение спам ли это. Не помню сколько поддерживает запросов бесплатный тариф, но если делать так именно с подозрительными сообщения то возможно, что уложитесь во все лимиты и не будете банить за фразы типо «ребят, я тут вчера такую дурацкую анкету заполнял при отборе на позицию».

Только зачем бот с командами которые может выполнить админ группы в 2 клика

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории