11using Lagrange . Core ;
2+ using Lagrange . Core . Common . Entity ;
3+ using Lagrange . Core . Message ;
24using Lagrange . Milky . Configuration ;
5+ using Lagrange . Milky . Entity ;
36using Lagrange . Milky . Extension ;
47using Lagrange . Milky . Utility ;
58using Microsoft . Extensions . Hosting ;
69using Microsoft . Extensions . Logging ;
710using Microsoft . Extensions . Options ;
11+ using static Lagrange . Core . Events . EventArgs . BotOfflineEvent ;
812using LgrEvents = Lagrange . Core . Events . EventArgs ;
913
1014namespace Lagrange . Milky . Event ;
@@ -33,6 +37,8 @@ private void HandleOfflineEvent(BotContext bot, LgrEvents.BotOfflineEvent @event
3337 {
3438 try
3539 {
40+ _logger . LogOffline ( @event . Reason , @event . Tips ? . Tag , @event . Tips ? . Message ) ;
41+
3642 var result = _convert . BotOfflineEvent ( @event ) ;
3743 byte [ ] bytes = JsonUtility . SerializeToUtf8Bytes ( result . GetType ( ) , result ) ;
3844 using ( _lock . UsingReadLock ( ) )
@@ -53,6 +59,26 @@ private void HandleMessageEvent(BotContext bot, LgrEvents.BotMessageEvent @event
5359 {
5460 try
5561 {
62+ switch ( @event . Message . Type )
63+ {
64+ case MessageType . Group :
65+ _logger . LogGroupMessage (
66+ @event . Message . Type ,
67+ ( ( BotGroupMember ) @event . Message . Contact ) . Group . Uin ,
68+ @event . Message . Contact . Uin ,
69+ @event . Message . Entities . ToDebugString ( )
70+ ) ;
71+ break ;
72+ case MessageType . Private :
73+ case MessageType . Temp :
74+ _logger . LogPrivateMessage (
75+ @event . Message . Type ,
76+ @event . Message . Contact . Uin ,
77+ @event . Message . Entities . ToDebugString ( )
78+ ) ;
79+ break ;
80+ }
81+
5682 if ( _ignoreBotMessage && @event . Message . Contact . Uin == bot . BotUin ) return ;
5783
5884 var result = _convert . MessageReceiveEvent ( @event ) ;
@@ -98,6 +124,15 @@ public void Unregister(Action<Memory<byte>> handler)
98124
99125public static partial class EventServiceLoggerExtension
100126{
127+ [ LoggerMessage ( EventId = 0 , Level = LogLevel . Debug , Message = "BotOfflineEvent {{ {reason} {tag} {message} }}" ) ]
128+ public static partial void LogOffline ( this ILogger < EventService > logger , Reasons reason , string ? tag , string ? message ) ;
129+
130+ [ LoggerMessage ( EventId = 1 , Level = LogLevel . Debug , Message = "BotMessageEvent {{ {type} {group} {sender} {entities} }}" ) ]
131+ public static partial void LogGroupMessage ( this ILogger < EventService > logger , MessageType type , long group , long sender , string entities ) ;
132+
133+ [ LoggerMessage ( EventId = 2 , Level = LogLevel . Debug , Message = "BotMessageEvent {{ {type} {sender} {entities} }}" ) ]
134+ public static partial void LogPrivateMessage ( this ILogger < EventService > logger , MessageType type , long sender , string entities ) ;
135+
101136 [ LoggerMessage ( EventId = 999 , Level = LogLevel . Error , Message = "Handle {event} exception" ) ]
102137 public static partial void LogHandleEventException ( this ILogger < EventService > logger , string @event , Exception e ) ;
103138}
0 commit comments