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.
                }
            }
        }