Fix logging, fix shelve .db extensions
This commit is contained in:
+1
-1
@@ -163,7 +163,7 @@ async def translate_layout(message: types.Message):
|
|||||||
await bot.send_message(message.chat.id, message.reply_to_message.text.translate(ENG_RUS_TABLE))
|
await bot.send_message(message.chat.id, message.reply_to_message.text.translate(ENG_RUS_TABLE))
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=["quote", "цитата"])
|
@bot.message_handler(commands=["q", "quote", "цитата"])
|
||||||
async def stan_speak(message: types.Message):
|
async def stan_speak(message: types.Message):
|
||||||
logging.info(
|
logging.info(
|
||||||
LOG_COMM
|
LOG_COMM
|
||||||
|
|||||||
+3
-1
@@ -20,5 +20,7 @@ RULES_URL = os.environ.get("rules_url", "https://telegra.ph/pythonchatru-07-07")
|
|||||||
if not is_url_reachable(RULES_URL):
|
if not is_url_reachable(RULES_URL):
|
||||||
raise LookupError(f"STAN rules url({RULES_URL}) is not reachable")
|
raise LookupError(f"STAN rules url({RULES_URL}) is not reachable")
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(message)s", datefmt="%Y-%m-%d %H:%M:%S", force=True)
|
||||||
logger.setLevel(logging.ERROR)
|
logger.setLevel(logging.ERROR)
|
||||||
|
|
||||||
|
logging.critical(f'LOGGER {logging.getLogger()}: ')
|
||||||
+4
-5
@@ -3,7 +3,6 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
import shelve
|
import shelve
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
from .config import ROLLBACK
|
from .config import ROLLBACK
|
||||||
from .constants import DATA, types
|
from .constants import DATA, types
|
||||||
@@ -29,9 +28,9 @@ def create_report_text(chat_id):
|
|||||||
report = ""
|
report = ""
|
||||||
top_users = ""
|
top_users = ""
|
||||||
flooders = []
|
flooders = []
|
||||||
spammer_icons = ('🐷', '🐒', '🐔')
|
spammer_icons = ('🐷', '🐒', '🐔', '👽')
|
||||||
current_spammer_face = random.choice(spammer_icons)
|
current_spammer_face = random.choice(spammer_icons)
|
||||||
if os.path.exists(f"{DATA}{chat_id}.db"):
|
if os.path.exists(f"{DATA}{chat_id}"):
|
||||||
with shelve.open(f"{DATA}{chat_id}", writeback=True) as s:
|
with shelve.open(f"{DATA}{chat_id}", writeback=True) as s:
|
||||||
for user_id in ROLLBACK:
|
for user_id in ROLLBACK:
|
||||||
if user_id in s["Messages"] and s["Messages"][user_id]["Count"] > 10:
|
if user_id in s["Messages"] and s["Messages"][user_id]["Count"] > 10:
|
||||||
@@ -68,7 +67,7 @@ def create_report_text(chat_id):
|
|||||||
"""
|
"""
|
||||||
return report
|
return report
|
||||||
else:
|
else:
|
||||||
return f"Невозможно получить статистику.\n{DATA}{chat_id}.db не существует, возможно запрос в приватном чате. "
|
return f"Невозможно получить статистику.\n{DATA}{chat_id} не существует, возможно запрос в приватном чате. "
|
||||||
|
|
||||||
|
|
||||||
def reset_report_stats(chat_id):
|
def reset_report_stats(chat_id):
|
||||||
@@ -84,7 +83,7 @@ def reset_report_stats(chat_id):
|
|||||||
|
|
||||||
|
|
||||||
def update_stats(message: types.Message):
|
def update_stats(message: types.Message):
|
||||||
if not Path(f"{DATA}{message.chat.id}.db").exists():
|
if not os.path.exists(f"{DATA}{message.chat.id}"):
|
||||||
reset_report_stats(message.chat.id)
|
reset_report_stats(message.chat.id)
|
||||||
with shelve.open(f"{DATA}{message.chat.id}", writeback=True) as shelve_db:
|
with shelve.open(f"{DATA}{message.chat.id}", writeback=True) as shelve_db:
|
||||||
if "Messages" not in shelve_db:
|
if "Messages" not in shelve_db:
|
||||||
|
|||||||
+17
-16
@@ -73,22 +73,6 @@ async def add_stan_quote(message: types.Message):
|
|||||||
await bot.send_message(message.chat.id, f"⛔️ Не добавил, есть токое: {quote}", parse_mode='Markdown')
|
await bot.send_message(message.chat.id, f"⛔️ Не добавил, есть токое: {quote}", parse_mode='Markdown')
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(func=is_white_id, commands=["add_spam"])
|
|
||||||
async def add_spam_handler(message: types.Message):
|
|
||||||
if message.reply_to_message and message.reply_to_message.text:
|
|
||||||
quote = (message.quote and message.quote.text) or message.reply_to_message.text
|
|
||||||
logging.error(f'{session.query(BadWord).filter_by(word=quote).first()}')
|
|
||||||
if not session.query(BadWord).filter_by(word=quote).first():
|
|
||||||
add_spam(message.chat.id, quote)
|
|
||||||
ok_message = await bot.send_message(message.chat.id, f"⭐️ Добавил в спам: {quote}", parse_mode='Markdown')
|
|
||||||
await bot.delete_message(message.chat.id, message.id)
|
|
||||||
await asyncio.sleep(3)
|
|
||||||
await bot.delete_message(message.chat.id, ok_message.id)
|
|
||||||
logging.info(LOG_COMM % (message.chat.title, message.from_user.id, message.from_user.full_name, f'[SPAM] {message.reply_to_message.text}'))
|
|
||||||
else:
|
|
||||||
await bot.send_message(message.chat.id, f"⛔️ Не добавил, есть токое: {quote}", parse_mode='Markdown')
|
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(func=is_white_id, commands=["remove"])
|
@bot.message_handler(func=is_white_id, commands=["remove"])
|
||||||
async def remove_stan_quote(message: types.Message):
|
async def remove_stan_quote(message: types.Message):
|
||||||
if message.reply_to_message and message.reply_to_message.text:
|
if message.reply_to_message and message.reply_to_message.text:
|
||||||
@@ -103,6 +87,23 @@ async def remove_stan_quote(message: types.Message):
|
|||||||
else:
|
else:
|
||||||
await bot.send_message(message.chat.id, f"⛔️ Нет такого: {quote}", parse_mode='Markdown')
|
await bot.send_message(message.chat.id, f"⛔️ Нет такого: {quote}", parse_mode='Markdown')
|
||||||
|
|
||||||
|
|
||||||
|
@bot.message_handler(func=is_white_id, commands=["add_spam"])
|
||||||
|
async def add_spam_handler(message: types.Message):
|
||||||
|
if message.reply_to_message and message.reply_to_message.text:
|
||||||
|
quote = (message.quote and message.quote.text) or message.reply_to_message.text
|
||||||
|
logging.error(f'{session.query(BadWord).filter_by(word=quote).first()}')
|
||||||
|
if not session.query(BadWord).filter_by(word=quote).first():
|
||||||
|
add_spam(message.chat.id, quote)
|
||||||
|
ok_message = await bot.send_message(message.chat.id, f"⭐️🤬 Добавил в спам: {quote}", parse_mode='Markdown')
|
||||||
|
await bot.delete_message(message.chat.id, message.id)
|
||||||
|
await asyncio.sleep(3)
|
||||||
|
await bot.delete_message(message.chat.id, ok_message.id)
|
||||||
|
logging.info(LOG_COMM % (message.chat.title, message.from_user.id, message.from_user.full_name, f'[SPAM] {message.reply_to_message.text}'))
|
||||||
|
else:
|
||||||
|
await bot.send_message(message.chat.id, f"⛔️🤬 Не добавил, есть такое в спаме: {quote}", parse_mode='Markdown')
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(func=is_white_id, commands=["info"])
|
@bot.message_handler(func=is_white_id, commands=["info"])
|
||||||
async def get_user_info(message: types.Message):
|
async def get_user_info(message: types.Message):
|
||||||
if replied_message := message.reply_to_message:
|
if replied_message := message.reply_to_message:
|
||||||
|
|||||||
Reference in New Issue
Block a user