improve statistics linking

This commit is contained in:
Rykov7
2022-11-07 11:34:07 +03:00
parent 1d02bd5fe1
commit c47b588219
3 changed files with 11 additions and 13 deletions
+6 -7
View File
@@ -225,7 +225,7 @@ def send_stats(message):
def check_unwanted_list(type_message: types.Message) -> bool:
""" Check for mentioning unwanted persons in text. """
unwanted_phrases = ['дудар', 'хауди', 'howdy', 'dudar']
unwanted_phrases = ['дудар', 'хауди', 'dudar']
for phrase in unwanted_phrases:
if phrase in type_message.text.casefold():
return True
@@ -243,18 +243,18 @@ def check_chat(message: types.Message):
@bot.message_handler(
func=lambda a: a.from_user.id == ADMIN_ID and a.text.split()[0] in ('del', 'ban', 'unban'),
func=lambda a: a.from_user.id == ADMIN_ID and a.text.split()[0] in ('!del', '!ban', '!unban'),
content_types=['text'])
def admin_panel(message: types.Message):
""" Admin panel. """
if message.text == 'del':
if message.text == '!del':
bot.delete_message(message.chat.id, message.reply_to_message.id)
bot.delete_message(message.chat.id, message.id)
elif message.text == 'ban':
elif message.text == '!ban':
bot.delete_message(message.chat.id, message.reply_to_message.id)
bot.delete_message(message.chat.id, message.id)
bot.ban_chat_member(message.chat.id, message.from_user.id)
elif message.text.split()[0] == 'unban':
elif message.text.split()[0] == '!unban':
bot.unban_chat_member(message.chat.id, message.text.split()[1])
@@ -264,8 +264,7 @@ def unwanted_mentions(message: types.Message):
""" Count messages. """
with shelve.open('chat_stats', writeback=True) as s:
s['Messages'][message.from_user.id] = s['Messages'].get(message.from_user.id,
{'Name': message.from_user.first_name,
'Username': message.from_user.username,
{'User': message.from_user,
'Count': 0})
s['Messages'][message.from_user.id]['Count'] += 1
+2 -2
View File
@@ -18,7 +18,7 @@ def scheduler():
time.sleep(300)
@repeat(every().day.at('06:00'), PYTHONCHATRU, None)
@repeat(every().day.at('07:00'), PYTHONCHATRU, None)
def remind(chat_to_repeat, today):
""" Remind holiday. """
if not today:
@@ -39,7 +39,7 @@ def remind(chat_to_repeat, today):
bot.send_message(chat_to_repeat, notification, parse_mode='HTML')
@repeat(every().day.at('05:00'), PYTHONCHATRU)
@repeat(every().day.at('06:00'), PYTHONCHATRU)
def stat_report(chat_to_repeat):
bot.send_message(chat_to_repeat, report.create_report_text(),
parse_mode='HTML', disable_web_page_preview=True)
+3 -4
View File
@@ -10,10 +10,9 @@ def create_report_text():
s['Messages'][sorted(s['Messages'], key=lambda a: s['Messages'][a]['Count'], reverse=True)[n]])
for i, flooder in enumerate(flooders):
username = flooder['Username']
name = flooder['Name']
user = flooder['User']
count = flooder['Count']
text += f'\n {i + 1}. <a href="https://t.me/{username}">{name}</a> ({count})'
text += f'\n {i + 1}. <a href="tg://user?id={user.id}">{user.first_name}</a> ({count})'
report = f"""<code>Доброе утро, Мир!</code>
<b>За прошедшие сутки</b>
@@ -21,7 +20,7 @@ def create_report_text():
├ <b>Пользователей: </b>{s['Banned']}
└ <b>Сообщений: </b>{s['Deleted']}
🏆 <b>Почётные флудеры</b>{text}"""
🏆 <b>Главные флудеры</b>{text}"""
return report