add admin reloader, refactor
This commit is contained in:
@@ -0,0 +1 @@
|
||||
from . import trolling
|
||||
|
||||
@@ -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)
|
||||
+9
-1
@@ -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()
|
||||
|
||||
+8
-12
@@ -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}. <a href="tg://user?id={user.id}">{name}</a> ({flooder["Count"]})'
|
||||
report = f"""<code>Доброе утро, Мир!</code>
|
||||
<b>За прошлые сутки</b>
|
||||
top_users += f'\n {i + 1}. <a href="tg://user?id={user.id}">{name}</a> ({flooder["Count"]})'
|
||||
report = f"""<code>Hello, World!</code> 🌍
|
||||
|
||||
<b>Заблокировано</b>
|
||||
<b>Заблокировано</b> ⛔
|
||||
├ <b>Пользователей: </b>{s['Banned']}
|
||||
└ <b>Сообщений: </b>{s['Deleted']}
|
||||
"""
|
||||
if flooders:
|
||||
report += """
|
||||
<b>Главные флудеры</b> 🏆{text}"""
|
||||
else:
|
||||
report += """
|
||||
До звания флудера никто не дотянул :-("""
|
||||
if flooders:
|
||||
report += f"""
|
||||
<b>Топ</b> 🏆{top_users}"""
|
||||
return report
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user