feat: more logs into the terminal

This commit is contained in:
草师傅 2025-08-04 14:35:40 +08:00
parent f591d546a5
commit ac67cdef7d
4 changed files with 27 additions and 7 deletions

View file

@ -2,14 +2,18 @@ from aiogram.types import Message
from config import config
import logging
async def handle_actions(message: Message) -> None:
if not config.is_feature_enabled('actions', message.chat.id):
logging.debug(f"收到了命中 / 开头的的消息,但是 actions 功能未启用,跳过处理")
return
rawtext = message.text
logging.debug(f"收到了命中 / 开头的消息: {rawtext}")
# 防止识别成命令而被误触发
if rawtext.replace('/','',1).isascii() or '@' in rawtext:
import re
if re.match("^[a-zA-Z]+$", rawtext.replace('/','',1)) or '@' in rawtext:
logging.debug(f"{rawtext} 看起来是一条命令,跳过处理")
return
from_user = message.from_user.mention_html(message.sender_chat.title) if message.sender_chat else message.from_user.mention_html()
@ -25,5 +29,7 @@ async def handle_reverse_actions(message: Message) -> None:
from_user = message.from_user.mention_html(message.sender_chat.title) if message.sender_chat else message.from_user.mention_html()
replied_user = message.reply_to_message.from_user.mention_html(message.reply_to_message.sender_chat.title) if message.reply_to_message and message.reply_to_message.sender_chat else message.reply_to_message.from_user.mention_html()
if not config.is_feature_enabled('actions', message.chat.id):
logging.debug(f"收到了命中 \\ 开头的的消息,但是 actions 功能未启用,跳过处理")
return
logging.debug(f"收到了命中 \\ 开头的消息: {message.text}")
await message.reply(f"{from_user}{replied_user if message.reply_to_message else '自己'} {message.text.replace('\\','')}了!",disable_web_page_preview=True)

View file

@ -1,3 +1,5 @@
import logging
import aiohttp
import re
import html
@ -181,6 +183,7 @@ def transform_into_fixed_url(url):
return url
async def process_url(url):
logging.debug('发现链接,正在尝试清理')
# 对于适配的网站,直接保留白名单参数并返回
if urlparse(url).hostname in whitelist_param_links:
final_url = reserve_whitelisted_params(url)
@ -233,3 +236,7 @@ async def handle_links(message: Message):
f"这个功能是试验性的,可能会出现链接无法访问等问题,如果出现链接没有清理干净的情况,"
f"可以将返回的结果再次发送给bot或者尝试手动清理。\n如果你找到了这个工具的问题,欢迎"
f"把它通过 `/report_broken_links 链接 需要去除的参数等等` 报告给开发者!")
else:
no_link_message = await message.reply("我没有发现可以处理的链接。\n此消息将会在 5 秒后被删除。", disable_web_page_preview=True)
await asyncio.sleep(5)
await no_link_message.delete()

View file

@ -1,8 +1,10 @@
import logging
import random
from aiogram import BaseMiddleware
from aiogram import BaseMiddleware, Router
from aiogram.types import Message
from typing import Dict, Optional, Callable, Awaitable, Any
router = Router()
class RikkiMiddleware(BaseMiddleware):
def __init__(self, target_user_id: str = "5545347637"):
@ -71,10 +73,11 @@ class RikkiMiddleware(BaseMiddleware):
if event.chat.type in ['group', 'supergroup'] and user_id == self.target_user_id:
# 更新几率
self.update_probability(user_id, event.text)
logging.debug("当前欠打的几率是{}".format(self.get_user_probability(user_id)))
if event.text and event.text.startswith('/打') and event.reply_to_message and str(event.reply_to_message.from_user.id) == self.target_user_id:
self.update_probability(user_id, event.text, hit_by_others=True)
logging.debug("当前欠打的几率是{}".format(self.get_user_probability(user_id)))
if self.get_user_probability(user_id) >= 80.0:
await event.reply("泥欠打了")

View file

@ -1,3 +1,5 @@
import logging
from aiogram.types import Message
from config import config
@ -6,6 +8,7 @@ from config import config
async def handle_unpin_channel_message(message: Message):
"""Handle unpinning messages from linked channels without a specific hashtag"""
if not config.is_feature_enabled('unpin', message.chat.id):
logging.debug('发现了频道试图置顶消息,但未启用 unpin 功能,跳过处理')
return
try:
regex_pattern = config.get_feature_config('unpin', message.chat.id)['regex']
@ -13,10 +16,11 @@ async def handle_unpin_channel_message(message: Message):
if regex_pattern:
import re
if re.search(regex_pattern, message.text or message.caption or ""):
logging.debug(f"发现了频道试图置顶消息,但消息匹配了正则表达式{regex_pattern},跳过取消置顶")
# Message matches regex, don't unpin
return
# Either no regex pattern or message doesn't match, proceed to unpin
print("trying to unpin the message")
logging.debug('正在尝试取消频道消息的置顶')
await message.unpin()
except Exception as e:
print('Error unpinning message:', e)
logging.error('Error unpinning message:', e)