public ChatMessagesController(
     IBotSettingsProvider botSettingsProvider,
     IMessagesProcessor messagesProcessor)
 {
     client = new TelegramBotClient(botSettingsProvider.Token);
     this.messagesProcessor = messagesProcessor;
 }
Ejemplo n.º 2
0
        private IMessagesProcessor CreateProcessorAndProcess(IEnumerable <Message> messages)
        {
            IMessagesProcessor processor = this.messagesProcessorFactoryMethod();

            processor.Process(messages);
            return(processor);
        }
Ejemplo n.º 3
0
        public void HandleMessages(Message[] messages, CometAsyncResult asyncResult)
        {
            // Do this before we process the messages in case it's a disconnect
            Client sendingClient = GetSenderOf(messages);

            IMessagesProcessor processor = this.CreateProcessorAndProcess(messages);

            if (sendingClient == null)
            {
                asyncResult.CompleteRequestWithMessages(processor.Result);
                return;
            }

            if (sendingClient.CurrentAsyncResult != null)
            {
                sendingClient.FlushQueue();
            }

            sendingClient.CurrentAsyncResult = asyncResult;
            sendingClient.Enqueue(processor.Result);

            if (processor.ShouldSendResultStraightBackToClient)
            {
                sendingClient.FlushQueue();
            }
        }
Ejemplo n.º 4
0
        private IMessagesProcessor CreateProcessorAndProcess(IEnumerable <Message> messages)
        {
            //try
            //{
            IMessagesProcessor processor = this.messagesProcessorFactoryMethod();

            processor.Process(messages);
            return(processor);
            //}catch(Exception exc)
            //{
            //    System.Diagnostics.Trace.WriteLine("---------------------------");
            //    System.Diagnostics.Trace.Write(exc);
            //    return null;
            //}
        }
Ejemplo n.º 5
0
        public BotClient(
            IMessagesProcessor messagesProcessor,
            IBotSettingsProvider botSettingsProvider,
            IProxySettingsProvider proxySettingsProvider)
        {
            this.messagesProcessor     = messagesProcessor;
            this.proxySettingsProvider = proxySettingsProvider;

            client = new TelegramBotClient(
                botSettingsProvider.Token,
                CreateClient()
                );

            client.OnMessage      += ClientOnMessageReceived;
            client.OnReceiveError += ClientOnReceiveError;
        }