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 reminder
|
||||||
from . import report
|
from . import report
|
||||||
|
from .admin import reload_modules
|
||||||
from .config import bot, URL_RX, ALLOWED_WORDS, ADMIN_ID, TOKEN, PYTHONCHATRU
|
from .config import bot, URL_RX, ALLOWED_WORDS, ADMIN_ID, TOKEN, PYTHONCHATRU
|
||||||
from .me import get_me
|
from .me import get_me
|
||||||
from .query_log import logging
|
from .query_log import logging
|
||||||
from . import trolling
|
|
||||||
|
|
||||||
# https://core.telegram.org/bots/api Telegram Bot API
|
# https://core.telegram.org/bots/api Telegram Bot API
|
||||||
# https://github.com/eternnoir/pyTelegramBotAPI/tree/master/examples
|
# https://github.com/eternnoir/pyTelegramBotAPI/tree/master/examples
|
||||||
@@ -226,6 +227,13 @@ def send_stats(message):
|
|||||||
parse_mode='HTML', disable_web_page_preview=True)
|
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'])
|
@bot.message_handler(commands=['reset_stats'])
|
||||||
def send_stats(message):
|
def send_stats(message):
|
||||||
report.reset_report_stats()
|
report.reset_report_stats()
|
||||||
|
|||||||
+8
-12
@@ -2,9 +2,9 @@ import shelve
|
|||||||
|
|
||||||
|
|
||||||
def create_report_text():
|
def create_report_text():
|
||||||
|
top_users = ''
|
||||||
|
flooders = []
|
||||||
with shelve.open('chat_stats') as s:
|
with shelve.open('chat_stats') as s:
|
||||||
text = ''
|
|
||||||
flooders = []
|
|
||||||
for n in range(min(3, len(s['Messages']))):
|
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]]
|
top_user = s['Messages'][sorted(s['Messages'], key=lambda a: s['Messages'][a]['Count'], reverse=True)[n]]
|
||||||
if top_user['Count'] >= 10:
|
if top_user['Count'] >= 10:
|
||||||
@@ -13,20 +13,16 @@ def create_report_text():
|
|||||||
for i, flooder in enumerate(flooders):
|
for i, flooder in enumerate(flooders):
|
||||||
user = flooder["User"]
|
user = flooder["User"]
|
||||||
name = f"{user.first_name} {user.last_name}" if user.last_name else user.first_name
|
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"]})'
|
top_users += f'\n {i + 1}. <a href="tg://user?id={user.id}">{name}</a> ({flooder["Count"]})'
|
||||||
report = f"""<code>Доброе утро, Мир!</code>
|
report = f"""<code>Hello, World!</code> 🌍
|
||||||
<b>За прошлые сутки</b>
|
|
||||||
|
|
||||||
<b>Заблокировано</b>
|
<b>Заблокировано</b> ⛔
|
||||||
├ <b>Пользователей: </b>{s['Banned']}
|
├ <b>Пользователей: </b>{s['Banned']}
|
||||||
└ <b>Сообщений: </b>{s['Deleted']}
|
└ <b>Сообщений: </b>{s['Deleted']}
|
||||||
"""
|
"""
|
||||||
if flooders:
|
if flooders:
|
||||||
report += """
|
report += f"""
|
||||||
<b>Главные флудеры</b> 🏆{text}"""
|
<b>Топ</b> 🏆{top_users}"""
|
||||||
else:
|
|
||||||
report += """
|
|
||||||
До звания флудера никто не дотянул :-("""
|
|
||||||
return report
|
return report
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user