public ChatMessagesController( IBotSettingsProvider botSettingsProvider, IMessagesProcessor messagesProcessor) { client = new TelegramBotClient(botSettingsProvider.Token); this.messagesProcessor = messagesProcessor; }
private IMessagesProcessor CreateProcessorAndProcess(IEnumerable <Message> messages) { IMessagesProcessor processor = this.messagesProcessorFactoryMethod(); processor.Process(messages); return(processor); }
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(); } }
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; //} }
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; }