mirror of
				https://github.com/LiteyukiStudio/LiteyukiBot.git
				synced 2025-11-04 14:36:24 +00:00 
			
		
		
		
	✨ 消息统计新增指定用户选项
This commit is contained in:
		@@ -22,7 +22,7 @@ async def count_msg_by_bot_id(bot_id: str) -> int:
 | 
			
		||||
    return len(msg_rows)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
async def get_stat_msg_image(duration: int, period: int, group_id: str = None, bot_id: str = None,
 | 
			
		||||
async def get_stat_msg_image(duration: int, period: int, group_id: str = None, bot_id: str = None, user_id: str = None,
 | 
			
		||||
                             ulang: Language = Language()) -> bytes:
 | 
			
		||||
    """
 | 
			
		||||
    获取统计消息
 | 
			
		||||
@@ -50,6 +50,10 @@ async def get_stat_msg_image(duration: int, period: int, group_id: str = None, b
 | 
			
		||||
        condition += " AND bot_id = ?"
 | 
			
		||||
        condition_args.append(bot_id)
 | 
			
		||||
 | 
			
		||||
    if user_id:
 | 
			
		||||
        condition += " AND user_id = ?"
 | 
			
		||||
        condition_args.append(user_id)
 | 
			
		||||
 | 
			
		||||
    msg_rows = msg_db.where_all(
 | 
			
		||||
        MessageEventModel(),
 | 
			
		||||
        condition,
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,11 @@ stat_msg = on_alconna(
 | 
			
		||||
                Args["group_id", str, "current"],
 | 
			
		||||
                help_text="指定群组"
 | 
			
		||||
            ),
 | 
			
		||||
            Option(
 | 
			
		||||
                "-u|--user",
 | 
			
		||||
                Args["user_id", str, "current"],
 | 
			
		||||
                help_text="指定用户"
 | 
			
		||||
            ),
 | 
			
		||||
            alias={"msg", "m"},
 | 
			
		||||
            help_text="查看统计次数内的消息"
 | 
			
		||||
        )
 | 
			
		||||
@@ -56,6 +61,7 @@ async def _(result: Arparma, event: T_MessageEvent, bot: Bot):
 | 
			
		||||
 | 
			
		||||
    group_id = result.other_args.get("group_id")
 | 
			
		||||
    bot_id = result.other_args.get("bot_id")
 | 
			
		||||
    user_id = result.other_args.get("user_id")
 | 
			
		||||
 | 
			
		||||
    if group_id in ["current", "c"]:
 | 
			
		||||
        group_id = str(event_utils.get_group_id(event))
 | 
			
		||||
@@ -66,5 +72,8 @@ async def _(result: Arparma, event: T_MessageEvent, bot: Bot):
 | 
			
		||||
    if bot_id in ["current", "c"]:
 | 
			
		||||
        bot_id = str(bot.self_id)
 | 
			
		||||
 | 
			
		||||
    img = await get_stat_msg_image(duration, period, group_id, bot_id, ulang)
 | 
			
		||||
    if user_id in ["current", "c"]:
 | 
			
		||||
        user_id = str(event_utils.get_user_id(event))
 | 
			
		||||
 | 
			
		||||
    img = await get_stat_msg_image(duration=duration, period=period, group_id=group_id, bot_id=bot_id, user_id=user_id, ulang=ulang)
 | 
			
		||||
    await stat_msg.send(UniMessage.image(raw=img))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user