@@ -367,52 +367,53 @@ void HandleIrcChat(IRCMessage msg) {
367367 } else {
368368 return ;
369369 }
370- }
371-
372- string processedMessage = ProcessMessageFromIRC ( rawMessage ) ;
373- if ( processedMessage . Length == 0 ) return ;
374- bool elapsed = DateTime . UtcNow . Subtract ( IRCHandlers . lastUrlExpand ) . TotalSeconds > 5 ;
370+ }
371+ string text = ProcessMessageFromIRC ( rawMessage ) ;
372+ if ( text . Length == 0 ) return ;
373+
375374 if ( ConfigKey . IRCBotForwardFromIRC . Enabled ( ) ) {
376375 if ( msg . Type == IRCMessageType . ChannelAction ) {
377- if ( elapsed ) {
378- Scheduler . NewTask ( t => Chat . getUrls ( processedMessage ) ) . RunOnce ( ) ;
379- IRCHandlers . lastUrlExpand = DateTime . UtcNow ;
380- }
381- foreach ( Player player in Server . Players ) {
382- if ( player . Info . ReadIRC ) {
383- player . Message ( "&I(IRC) * {0} {1}" , msg . Nick , processedMessage ) ;
384- }
376+ TryExpandUrls ( text ) ;
377+
378+ foreach ( Player player in Server . Players . Where ( pl => pl . Info . ReadIRC ) ) {
379+ player . Message ( "&I(IRC) * {0} {1}" , msg . Nick , text ) ;
385380 }
386381 Logger . Log ( LogType . IrcChat , "{0}: * {1} {2}" , msg . Channel , msg . Nick ,
387382 IRCColorsAndNonStandardCharsExceptEmotes . Replace ( rawMessage , "" ) ) ;
388383 } else if ( IRCHandlers . HandleCommand ( ActualBotNick , msg . Nick , rawMessage ) ) {
389384 } else if ( IRCHandlers . HandlePM ( ActualBotNick , msg . Nick , rawMessage ) ) {
390385 } else {
391- if ( elapsed ) {
392- Scheduler . NewTask ( t => Chat . getUrls ( processedMessage ) ) . RunOnce ( ) ;
393- IRCHandlers . lastUrlExpand = DateTime . UtcNow ;
394- }
395- foreach ( Player player in Server . Players . Where ( player => player . Info . ReadIRC ) ) {
396- player . Message ( "&I(IRC) {0}{1}: {2}" , msg . Nick , Color . White ,
397- processedMessage ) ;
386+ TryExpandUrls ( text ) ;
387+ string discordBotNick = ConfigKey . DiscordBotNick . GetString ( ) ;
388+ string prefix = msg . Nick == discordBotNick ? "(Discord)" : "(IRC) " + msg . Nick ;
389+
390+ foreach ( Player player in Server . Players . Where ( pl => pl . Info . ReadIRC ) ) {
391+ player . Message ( "&I{0}{1}: {2}" , prefix , Color . White , text ) ;
398392 }
399393 }
400394 Logger . Log ( LogType . IrcChat , "{0}: {1}: {2}" , msg . Channel , msg . Nick ,
401395 IRCColorsAndNonStandardCharsExceptEmotes . Replace ( rawMessage , "" ) ) ;
402396 } else if ( msg . Message . StartsWith ( "#" ) ) {
403- if ( elapsed ) {
404- Scheduler . NewTask ( t => Chat . getUrls ( processedMessage ) ) . RunOnce ( ) ;
405- IRCHandlers . lastIrcCommand = DateTime . UtcNow ;
406- }
407- foreach ( Player player in Server . Players . Where ( player => player . Info . ReadIRC ) ) {
408- player . Message ( "&I(IRC) {0}{1}: {2}" , msg . Nick , Color . White ,
409- processedMessage . Substring ( 1 ) ) ;
397+ TryExpandUrls ( text ) ;
398+ string discordBotNick = ConfigKey . DiscordBotNick . GetString ( ) ;
399+ string prefix = msg . Nick == discordBotNick ? "(Discord)" : "(IRC) " + msg . Nick ;
400+
401+ foreach ( Player player in Server . Players . Where ( pl => pl . Info . ReadIRC ) ) {
402+ player . Message ( "&I{0}{1}: {2}" , prefix , Color . White , text . Substring ( 1 ) ) ;
410403 }
411404 Logger . Log ( LogType . IrcChat , "{0}: {1}: {2}" , msg . Channel , msg . Nick ,
412405 IRCColorsAndNonStandardCharsExceptEmotes . Replace ( rawMessage , "" ) ) ;
413406 }
414407 }
415408
409+ void TryExpandUrls ( string msg ) {
410+ bool elapsed = DateTime . UtcNow . Subtract ( IRCHandlers . lastUrlExpand ) . TotalSeconds > 5 ;
411+ if ( elapsed ) {
412+ Scheduler . NewTask ( t => Chat . getUrls ( msg ) ) . RunOnce ( ) ;
413+ IRCHandlers . lastUrlExpand = DateTime . UtcNow ;
414+ }
415+ }
416+
416417
417418 void HandleIrcJoin ( IRCMessage msg ) {
418419 if ( ! ResponsibleForInputParsing ) return ;
0 commit comments