public void Start() { this.tokenSource = new CancellationTokenSource(); Task.Factory.StartNew(() => { while (true) { if (this.isConnected) { var user = new User("[email protected]"); var channel = new Channel { Name = "#fake", Network = this.network as Network }; this.OnPrivateMessageReceived(new PrivateMessageReceivedEventArgs(user, this.server, MessageFormat.Message, MessageBroadcast.Private, "fake message")); this.OnPublicMessageReceived(new PublicMessageReceivedEventArgs(user, this.server, channel, MessageFormat.Message, MessageBroadcast.Public, "fake message")); } Thread.Sleep(TimeSpan.FromSeconds(20)); } }, this.tokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Current); }
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); }); } }