diff --git a/app/__init__.py b/app/__init__.py
index e69de29..f5518ae 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -0,0 +1 @@
+from . import trolling
diff --git a/app/admin.py b/app/admin.py
new file mode 100644
index 0000000..cdb895f
--- /dev/null
+++ b/app/admin.py
@@ -0,0 +1,15 @@
+from imp import reload
+
+from . import config
+from . import me
+from . import query_log
+from . import reminder
+from . import report
+
+
+def reload_modules():
+ reload(reminder)
+ reload(report)
+ reload(config)
+ reload(me)
+ reload(query_log)
diff --git a/app/bot.py b/app/bot.py
index d2cc3d5..5663dfc 100644
--- a/app/bot.py
+++ b/app/bot.py
@@ -10,10 +10,11 @@ from telebot import types
from . import reminder
from . import report
+from .admin import reload_modules
from .config import bot, URL_RX, ALLOWED_WORDS, ADMIN_ID, TOKEN, PYTHONCHATRU
from .me import get_me
from .query_log import logging
-from . import trolling
+
# https://core.telegram.org/bots/api Telegram Bot API
# https://github.com/eternnoir/pyTelegramBotAPI/tree/master/examples
@@ -226,6 +227,13 @@ def send_stats(message):
parse_mode='HTML', disable_web_page_preview=True)
+@bot.message_handler(commands=['reload'])
+def send_stats(message):
+ reload_modules()
+ bot.send_message(message.chat.id, 'Reloaded successful',
+ parse_mode='HTML')
+
+
@bot.message_handler(commands=['reset_stats'])
def send_stats(message):
report.reset_report_stats()
diff --git a/app/report.py b/app/report.py
index de2d11e..262c162 100644
--- a/app/report.py
+++ b/app/report.py
@@ -2,9 +2,9 @@ import shelve
def create_report_text():
+ top_users = ''
+ flooders = []
with shelve.open('chat_stats') as s:
- text = ''
- flooders = []
for n in range(min(3, len(s['Messages']))):
top_user = s['Messages'][sorted(s['Messages'], key=lambda a: s['Messages'][a]['Count'], reverse=True)[n]]
if top_user['Count'] >= 10:
@@ -13,20 +13,16 @@ def create_report_text():
for i, flooder in enumerate(flooders):
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} ({flooder["Count"]})'
- report = f"""Доброе утро, Мир!
-За прошлые сутки
+ top_users += f'\n {i + 1}. {name} ({flooder["Count"]})'
+ report = f"""Hello, World! 🌍
-Заблокировано
+Заблокировано ⛔
├ Пользователей: {s['Banned']}
└ Сообщений: {s['Deleted']}
"""
- if flooders:
- report += """
-Главные флудеры 🏆{text}"""
- else:
- report += """
-До звания флудера никто не дотянул :-("""
+ if flooders:
+ report += f"""
+Топ 🏆{top_users}"""
return report