@@ -41,24 +41,52 @@ async def handle_bot_disconnect(bot: Bot):
41
41
42
42
43
43
received_messages_counter = Counter (
44
- "nonebot_received_messages" , "Total number of received messages" , ["bot_id" ]
44
+ "nonebot_received_messages" ,
45
+ "Total number of received messages" ,
46
+ ["bot_id" , "adapter_name" ],
45
47
)
46
48
47
49
48
50
@on_message (block = False ).handle ()
49
51
async def handle_message (bot : Bot ):
50
- received_messages_counter .labels (bot .self_id ).inc ()
52
+ received_messages_counter .labels (bot .self_id , bot . adapter . get_name () ).inc ()
51
53
52
54
53
55
sent_messages_counter = Counter (
54
- "nonebot_sent_messages" , "Total number of sent messages" , ["bot_id" , "user_id" ]
56
+ "nonebot_sent_messages" ,
57
+ "Total number of sent messages" ,
58
+ ["bot_id" , "adapter_name" , "user_id" ],
55
59
)
56
60
57
61
58
62
@Bot .on_calling_api
59
63
async def handle_api_call (bot : Bot , api : str , data : Dict [str , Any ]):
60
- if api == "send_msg" :
61
- sent_messages_counter .labels (bot .self_id , data ["user_id" ]).inc ()
64
+ send_msg_apis = {
65
+ # OneBot v11 https://github.com/nonebot/adapter-onebot/blob/027ee801b947578b19868f6ac9ece110335619e1/nonebot/adapters/onebot/v11/bot.pyi#L72
66
+ "send_msg" ,
67
+ # OneBot v12 https://github.com/nonebot/adapter-onebot/blob/027ee801b947578b19868f6ac9ece110335619e1/nonebot/adapters/onebot/v12/bot.pyi#L183
68
+ # Telegram https://github.com/nonebot/adapter-telegram/blob/d2b60fbd26ed57f7912191b1a405939b95a4e634/nonebot/adapters/telegram/api.py#L96
69
+ # Red
70
+ "send_message" ,
71
+ # Discord https://github.com/nonebot/adapter-discord/blob/5794c0b53b4fe1f41726fd09b4db1a5239ef965b/nonebot/adapters/discord/api/client.pyi#L408
72
+ "create_message" ,
73
+ # Dodo
74
+ "set_channel_message_send" ,
75
+ # Feishu
76
+ "im/v1/messages" ,
77
+ "im/v1/images" ,
78
+ # QQ
79
+ "post_messages" ,
80
+ "post_group_messages" ,
81
+ # Satori
82
+ "message_create"
83
+ # Kaiheila
84
+ "directMessage_create" ,
85
+ }
86
+ if api in send_msg_apis :
87
+ sent_messages_counter .labels (
88
+ bot .self_id , bot .adapter .get_name (), data ["user_id" ]
89
+ ).inc ()
62
90
63
91
64
92
matcher_calling_counter = Counter (
0 commit comments