public static void Register(IEventHub eventHub, DataAccess dataAccess) { eventHub.Register("Chat.Public.FromTelegram", new Action <object>((x) => { var y = (StdChatModel)x; dataAccess.SendChatMsgToMcs(y); })); eventHub.Register("Chat.Public.FromMcs", new Action <object>((x) => { var y = (StdChatModel)x; dataAccess.SendChatMsgToMcs(y, y.Source); eventHub.Emit("Chat.Public.SendToTelegram.Group", new StdChatModel { Source = y.Source, DisplayName = y.DisplayName, Text = y.Text }); })); }
private async void BotOnMessageReceived(object sender, MessageEventArgs messageEventArgs) { var message = messageEventArgs.Message; if (message == null || message.Type != MessageType.TextMessage) { return; } Logger.Log(string.Format("TG Message From {0}: {1}", message.Chat.Id, message.Text)); if (!trustedGroups.Contains(message.Chat.Id) && !trustedAdmins.Contains(message.Chat.Id)) { return; } if (message.Text.StartsWith("/")) // send custom keyboard { ; // go into process commands. await Bot.SendTextMessageAsync(message.Chat.Id, string.Format("Hello {0}!", message.Chat.Id)); } else { if (trustedGroups.Contains(message.Chat.Id)) { EventHub.Emit("Chat.Public.FromTelegram", new StdChatModel { Source = "TelegramGroup", DisplayName = string.Format("{0} {1}", message.From.FirstName, message.From.LastName), Text = message.Text }); // go into process group messages. } } }