From 26d08ef0b5ee6cd685c69fbf83b63e01b385fa78 Mon Sep 17 00:00:00 2001 From: Rykov7 Date: Wed, 2 Nov 2022 17:11:12 +0300 Subject: [PATCH] add stats counter --- app/bot.py | 6 +++++- app/reminder.py | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/bot.py b/app/bot.py index 525dc02..1ff2913 100644 --- a/app/bot.py +++ b/app/bot.py @@ -5,6 +5,7 @@ from os.path import exists import csv from time import sleep from threading import Thread +import shelve from .query_log import logging from .me import get_me @@ -19,7 +20,6 @@ app = Flask(__name__) print(">>> LutzBot is running! <<<") - zen_rows = ['Beautiful is better than ugly.', 'Explicit is better than implicit.', 'Simple is better than complex.', 'Complex is better than complicated.', 'Flat is better than nested.', 'Sparse is better than dense.', 'Readability counts.', @@ -56,6 +56,8 @@ def moderate_messages(message: types.Message): 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) bot.delete_message(message.chat.id, message.id) + with shelve.open('chat_stats') as chat_stats: + chat_stats['Banned'] += 1 def check_delete_list(type_message: types.Message) -> bool: @@ -74,6 +76,8 @@ def check_delete_list(type_message: types.Message) -> bool: def delete_message(message: types.Message): """ Delete unwanted message. """ bot.delete_message(message.chat.id, message.id) + with shelve.open('chat_stats') as chat_stats: + chat_stats['Deleted'] += 1 @bot.message_handler(commands=['rules']) diff --git a/app/reminder.py b/app/reminder.py index 9f94734..a24690a 100644 --- a/app/reminder.py +++ b/app/reminder.py @@ -5,7 +5,7 @@ import time from threading import Thread from datetime import datetime as dt import csv - +import shelve from .config import PYTHONCHATRU, bot @@ -39,6 +39,14 @@ def remind(chat_to_repeat, today): bot.send_message(chat_to_repeat, notification, parse_mode='HTML') +@repeat(every().day.at('05:00'), PYTHONCHATRU) +def stat_report(chat_to_repeat): + with shelve.open('chat_stats') as s: + bot.send_message(chat_to_repeat, f"""🚨 Статистика нарушений + ├ Удалено спамеров: {s['Banned']} + └ Удалено сообщений: {s['Deleted']}""", parse_mode='HTML') + + def print_get_jobs(): all_jobs = get_jobs() text = f"├ Jobs: {str(len(all_jobs))}\