@@ -17,7 +17,7 @@ public class ChanServCommand : ICommand
1717 return ( true , "You must be an admin to use ChanServ commands." ) ;
1818
1919 if ( message . StartsWith ( "!blist" ) )
20- return HandleBanList ( ctx , senderNick ) ;
20+ return HandleBanList ( ctx , senderNick , false ) ;
2121
2222 if ( message . StartsWith ( "!addban" ) )
2323 return HandleAddBan ( ctx , senderNick , message ) ;
@@ -31,10 +31,36 @@ public class ChanServCommand : ICommand
3131 return ( false , null ) ;
3232 }
3333
34- private ( bool , string ) HandleBanList ( BotContext ctx , string senderNick )
34+ public ( bool handled , string response ) ProcessDiscord ( BotContext ctx , string senderNick , string message )
3535 {
36+ if ( ! message . StartsWith ( "!blist" ) && ! message . StartsWith ( "!addban" ) &&
37+ ! message . StartsWith ( "!delban" ) && ! message . StartsWith ( "!tb" ) )
38+ return ( false , null ) ;
39+
40+ if ( ! ctx . Admins . Contains ( senderNick ) )
41+ return ( true , "You must be an admin to use ChanServ commands." ) ;
42+
43+ if ( message . StartsWith ( "!blist" ) )
44+ return HandleBanList ( ctx , senderNick , true ) ;
45+
46+ if ( message . StartsWith ( "!addban" ) )
47+ return HandleAddBan ( ctx , senderNick , message ) ;
48+
49+ if ( message . StartsWith ( "!delban" ) )
50+ return HandleDelBan ( ctx , senderNick , message ) ;
51+
52+ if ( message . StartsWith ( "!tb" ) )
53+ return HandleTimedBan ( ctx , senderNick , message ) ;
54+
55+ return ( false , null ) ;
56+ }
57+
58+ private ( bool , string ) HandleBanList ( BotContext ctx , string senderNick , bool isDiscord )
59+ {
60+ string commandId = $ "blist_{ DateTime . UtcNow . Ticks } ";
61+ ctx . TrackServiceRequest ( commandId , senderNick , isDiscord ) ;
3662 ctx . Writer ? . WriteLine ( $ "PRIVMSG ChanServ :bans { ctx . Channel } ") ;
37- ctx . Logger ? . Log ( $ "[CHANSERV] { senderNick } requested banlist for { ctx . Channel } ") ;
63+ ctx . Logger ? . Log ( $ "[CHANSERV] { senderNick } requested banlist for { ctx . Channel } (ID: { commandId } ) ") ;
3864 return ( false , null ) ;
3965 }
4066
@@ -82,3 +108,5 @@ public class ChanServCommand : ICommand
82108 }
83109}
84110
111+
112+
0 commit comments