improve statistics linking
This commit is contained in:
+6
-7
@@ -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
@@ -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
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user