public override bool HandleEvent(CommandBase command, ChannelInfo channel, UserInfo user, List<string> args) { if (onlyOnce) { return true; } onlyOnce = true; if (command is Join) { user.IrcDaemon.Commands.Send(new NoticeArgument(user, user, channel.Name, "This channel automatically translates your messages, use the LANGUAGE command to set your preferred language")); } if (!channel.Modes.HandleEvent(command, channel, user, args)) { onlyOnce = false; return false; } if (command is PrivateMessage || command is Notice) { var translateDelegate = new GoogleTranslate.TranslateMultipleDelegate(translator.TranslateText); translateDelegate.BeginInvoke(args[1], channel.Users.Select(u => u.Languages.First()).Distinct(), TranslateCallBack, Tuple.Create(channel, user, command)); onlyOnce = false; return false; } onlyOnce = false; return true; }
public override bool HandleEvent(CommandBase command, ChannelInfo channel, UserInfo user, List <string> args) { if (onlyOnce) { return(true); } onlyOnce = true; if (command is Join) { user.IrcDaemon.Commands.Send(new NoticeArgument(user, user, channel.Name, "This channel automatically translates your messages, use the LANGUAGE command to set your preferred language")); } if (!channel.Modes.HandleEvent(command, channel, user, args)) { onlyOnce = false; return(false); } if (command is PrivateMessage || command is Notice) { var translateDelegate = new GoogleTranslate.TranslateMultipleDelegate(translator.TranslateText); translateDelegate.BeginInvoke(args[1], channel.Users.Select(u => u.Languages.First()).Distinct(), TranslateCallBack, Tuple.Create(channel, user, command)); onlyOnce = false; return(false); } onlyOnce = false; return(true); }