From 2754eb5d960e242c47522e55f5372afd25608d94 Mon Sep 17 00:00:00 2001 From: Rykov7 Date: Wed, 9 Nov 2022 15:27:00 +0300 Subject: [PATCH] remove redundant content_types, add /tsya command, upd report --- app/bot.py | 22 ++++++++++++++-------- app/report.py | 11 +++++------ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/bot.py b/app/bot.py index 30ca951..8a31647 100644 --- a/app/bot.py +++ b/app/bot.py @@ -48,11 +48,11 @@ def check_spam_list(type_message: types.Message) -> bool: return True -@bot.message_handler(func=check_spam_list, content_types=['text']) +@bot.message_handler(func=check_spam_list) def moderate_messages(message: types.Message): """ Ban user and delete their message. """ warn = bot.send_message(message.chat.id, - f'♻ {message.from_user.first_name}' + f'👮🏼 {message.from_user.first_name}' f' заблокирован (запрещённые ссылки).', parse_mode='HTML') Thread(target=wait_for_readers, args=(bot.delete_message, message.chat.id, warn.id)).start() bot.ban_chat_member(message.chat.id, message.from_user.id) @@ -74,7 +74,8 @@ def check_caption_spam_list(type_message: types.Message) -> bool: @bot.message_handler(func=check_caption_spam_list, content_types=['video']) def catch_videos(message: types.Message): """Catch offensive videos""" - warn = bot.send_message(message.chat.id, f'♻ {message.from_user.first_name} заблокирован (наркотики).') + warn = bot.send_message(message.chat.id, + f'👮🏼 {message.from_user.first_name} заблокирован (наркотики).') bot.delete_message(message.chat.id, message.id) bot.ban_chat_member(message.chat.id, message.from_user.id) Thread(target=wait_for_readers, args=(bot.delete_message, message.chat.id, warn.id)).start() @@ -94,7 +95,7 @@ def check_delete_list(type_message: types.Message) -> bool: return True -@bot.message_handler(func=check_delete_list, content_types=['text']) +@bot.message_handler(func=check_delete_list) def delete_message(message: types.Message): """ Delete unwanted message. """ bot.delete_message(message.chat.id, message.id) @@ -231,7 +232,7 @@ def check_unwanted_list(type_message: types.Message) -> bool: return True -@bot.message_handler(func=check_unwanted_list, content_types=['text']) +@bot.message_handler(func=check_unwanted_list) def unwanted_mentions(message: types.Message): """ Reply to unwanted mentions. """ bot.reply_to(message, f'У нас таких не любят! 🥴', parse_mode='HTML') @@ -242,9 +243,7 @@ def check_chat(message: types.Message): return True -@bot.message_handler( - func=lambda a: a.from_user.id == ADMIN_ID and a.text.split()[0] in ('!del', '!ban', '!unban'), - content_types=['text']) +@bot.message_handler(func=lambda a: a.from_user.id == ADMIN_ID and a.text.split()[0] in ('!del', '!ban', '!unban')) def admin_panel(message: types.Message): """ Admin panel. """ if message.text == '!del': @@ -263,6 +262,13 @@ def admin_panel(message: types.Message): bot.unban_chat_member(message.chat.id, user_id) +@bot.message_handler(commands=['tsya']) +def send_tsya_link(message: types.Message): + if message.reply_to_message: + bot.reply_to(message.reply_to_message, '-ТСЯ/-ТЬСЯ', parse_mode='HTML', + disable_web_page_preview=True) + + @bot.message_handler(func=check_chat, content_types=['text', 'sticker', 'photo', 'animation', 'video', 'audio', 'document']) def unwanted_mentions(message: types.Message): diff --git a/app/report.py b/app/report.py index 86c970e..981edee 100644 --- a/app/report.py +++ b/app/report.py @@ -5,19 +5,18 @@ def create_report_text(): with shelve.open('chat_stats') as s: text = '' flooders = [] - for n in range(min(5, len(s['Messages']))): + for n in range(min(3, len(s['Messages']))): flooders.append( s['Messages'][sorted(s['Messages'], key=lambda a: s['Messages'][a]['Count'], reverse=True)[n]]) for i, flooder in enumerate(flooders): - user = flooder['User'] - count = flooder['Count'] + user = flooder["User"] name = f"{user.first_name} {user.last_name}" if user.last_name else user.first_name - text += f'\n {i + 1}. {name} ({count})' + text += f'\n {i + 1}. {name} ({flooder["Count"]})' report = f"""Доброе утро, Мир! -За прошедшие сутки +За прошлые сутки -Заблокировано 👮🏼 +Заблокировано ├ Пользователей: {s['Banned']} └ Сообщений: {s['Deleted']}