コード例 #1
0
ファイル: FakeIrcClient.cs プロジェクト: pjmagee/NazureBot
        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);
        }
コード例 #2
0
ファイル: MatrixXMPPClient.cs プロジェクト: pjmagee/NazureBot
 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);
             });
     }
 }