protected virtual void OnPublicMessageReceived(PublicMessageReceivedEventArgs e) { var handler = this.PublicMessageReceived; if (handler != null) { handler(this, e); } }
public virtual void OnChannelMessageReceived(object sender, PublicMessageReceivedEventArgs e) { }
private async void OnPublicMessageReceived(object sender, PublicMessageReceivedEventArgs e) { foreach (var command in this.registrationService.RegisteredCommands) { if (e.Message.StartsWith(command.Trigger)) { IRequest request = this.requestFactory.Create(e.FromUser, e.Server, e.Format, e.Broadcast, e.Message, this); await command.Handler(request); } } foreach (var module in this.Modules) { module.OnChannelMessageReceived(this, e); } }
private void OnMessage(object sender, MessageEventArgs args) { if (args.Message.Type == MessageType.groupchat) { this.userService.GetOrCreateByHostmaskAsync(args.Message.From.Bare) // USER ? .ContinueWith(task => { var user = task.Result; var channel = new Channel() { Name = args.Message.From.ToString() } as IChannel; // CHANNEL ? var message = args.Message.Body; var eventArgs = new PublicMessageReceivedEventArgs(user, Server, channel, MessageFormat.Message, MessageBroadcast.Public, message); this.OnPublicMessageReceived(eventArgs); }); } else if (args.Message.Type == MessageType.chat) { this.userService.GetOrCreateByHostmaskAsync(args.Message.From.Bare) .ContinueWith(task => { var user = task.Result; var message = args.Message.Body; var eventArgs = new PrivateMessageReceivedEventArgs(user, Server, MessageFormat.Message, MessageBroadcast.Public, message); this.OnPrivateMessageReceived(eventArgs); }); } }