Exemplo n.º 1
0
        private void FromITelegramUserMessage(ITelegramUserMessage telegramMessage)
        {
            if (telegramMessage == null)
            {
                return;
            }

            ChatId    = telegramMessage.ChatId;
            IsEncrypt = false;
            if (!string.IsNullOrEmpty(telegramMessage.Message))
            {
                content      = telegramMessage.Message;
                IsDownloaded = true;
                type         = StashMessageType.Text;
            }
            else if (!string.IsNullOrEmpty(telegramMessage.PhotoId))
            {
                content      = null;
                photoId      = telegramMessage.PhotoId;
                IsDownloaded = false;
                type         = StashMessageType.Photo;
            }
            else
            {
                content      = null;
                IsDownloaded = true;
                type         = StashMessageType.Empty;
            }
        }
Exemplo n.º 2
0
        public void HandleUserMessage(ITelegramUserMessage message)
        {
            if (message.IsEmpty())
            {
                return;
            }

            ISessionManager sessionManager = ModulesManager.GetModulesManager().GetSessionManager();

            IChatSession chatSession = sessionManager.GetChatSession(message.ChatId);

            if (chatSession == null)
            {
                sessionManager.CreateChatSession(message.ChatId);
                chatSession = sessionManager.GetChatSession(message.ChatId);
            }

            sessionManager.UserSentMessage(message.ChatId, message.MessageId);
            if (string.Equals(message.Message, "/e") || string.Equals(message.Message, "/exit"))
            {
                sessionManager.KillChatSession(message.ChatId);
            }
            else
            {
                chatStateHandlerFactory.GetChatStateHandler(chatSession.State).HandleUserMessage(message, this);
            }
        }
 public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
 {
     if (message == null || context == null)
     {
         return;
     }
     context.ChangeChatState(message.ChatId, ChatSessionState.Start);
 }
Exemplo n.º 4
0
        private void OnMessage(object sender, MessageEventArgs e)
        {
            IMessageManager messageManager = ModulesManager.GetMessageManager();

            ITelegramUserMessage userMessage = telegramUserMessageFactory.Create(e.Message);

            messageManager.HandleUserMessage(userMessage);
        }
Exemplo n.º 5
0
        public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            if (message == null || context == null)
            {
                return;
            }

            IMessageManager messageManager = ModulesManager.GetModulesManager().GetMessageManager();

            messageManager.SendTextMessage(message.ChatId, TextResponse.Get(ResponseType.WelcomeMessage));
            context.ChangeChatState(message.ChatId, ChatSessionState.Start);
        }
Exemplo n.º 6
0
        private void RegistrationUser(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            IMessageManager messageManager = ModulesManager.GetModulesManager().GetMessageManager();
            IUserManager    userManager    = ModulesManager.GetModulesManager().GetUserManager();

            if (CheckPassword(message.ChatId, message.Message))
            {
                userManager.CreateNewUser(message.ChatId, message.Message);
                messageManager.SendTextMessage(message.ChatId, TextResponse.Get(ResponseType.SuccessRegistration));
                context.ChangeChatState(message.ChatId, Session.ChatSessionState.Start);
            }
        }
Exemplo n.º 7
0
        private async Task SaveMessageToStash(ITelegramUserMessage message)
        {
            IDatabaseManager databaseManager = ModulesManager.GetModulesManager().GetDatabaseManager();

            IUser user = databaseManager.GetUser(message.ChatId);

            if (user != null && user.IsAuthorized)
            {
                IStashMessage stashMessage = databaseManager.CreateStashMessage(message);
                await stashMessage.Download();

                stashMessage.Encrypt(user);
                databaseManager.SaveMessageToStash(stashMessage);
            }
        }
Exemplo n.º 8
0
        public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            if (message == null || context == null)
            {
                return;
            }

            if (!string.IsNullOrEmpty(message.Message) && chatCommands.ContainsCommand(message.Message))
            {
                chatCommands.Get(message.Message)(message.ChatId, context);
            }
            else
            {
                StartStateMessage(message.ChatId);
            }
        }
Exemplo n.º 9
0
        public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            if (message == null || context == null)
            {
                return;
            }

            if (IsCommand(message.Message))
            {
                commands[message.Message](message.ChatId, context);
            }
            else
            {
                StartStateMessage(message.ChatId);
            }
        }
Exemplo n.º 10
0
        private void LoginUser(ITelegramUserMessage message,
                               IChatStateHandlerContext context)
        {
            IMessageManager messageManager = ModulesManager.GetModulesManager().GetMessageManager();
            IUserManager    userManager    = ModulesManager.GetModulesManager().GetUserManager();

            bool success = userManager.LoginUser(message.ChatId, message.Message);

            if (success)
            {
                messageManager.SendTextMessage(message.ChatId, TextResponse.Get(ResponseType.SuccessAuthorisation));
                context.ChangeChatState(message.ChatId, Session.ChatSessionState.Authorized);
            }
            else
            {
                messageManager.SendTextMessage(message.ChatId, TextResponse.Get(ResponseType.FailAuthorisation));
            }
        }
Exemplo n.º 11
0
        public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            if (message == null || context == null)
            {
                return;
            }

            if (IsCommand(message.Message))
            {
                commands[message.Message](message.ChatId, context);
            }
            else
            {
                if (!string.IsNullOrEmpty(message.Message))
                {
                    RegistrationUser(message, context);
                }
            }
        }
Exemplo n.º 12
0
        public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            if (message == null || context == null)
            {
                return;
            }

            if (IsCommand(message.Message))
            {
                commands[message.Message](message.ChatId, context);
            }
            else
            {
                if (!message.IsEmpty())
                {
                    _ = SaveMessageToStash(message);
                }
            }
        }
Exemplo n.º 13
0
        public void HandleUserMessage(ITelegramUserMessage message, IChatStateHandlerContext context)
        {
            if (message == null || context == null)
            {
                return;
            }

            IMessageManager messageManager = ModulesManager.GetModulesManager().GetMessageManager();
            IUserManager    userManager    = ModulesManager.GetModulesManager().GetUserManager();

            if (IsCommand(message.Message))
            {
                commands[message.Message](message.ChatId, context);
            }
            else
            {
                if (!string.IsNullOrEmpty(message.Message))
                {
                    LoginUser(message, context);
                }
            }
        }
Exemplo n.º 14
0
 internal StashMessageLocal(ITelegramUserMessage telegramMessage)
 {
     ChatId    = telegramMessage.ChatId;
     IsEncrypt = false;
     if (!string.IsNullOrEmpty(telegramMessage.Message))
     {
         content      = telegramMessage.Message;
         IsDownloaded = true;
         type         = StashMessageType.Text;
     }
     else if (!string.IsNullOrEmpty(telegramMessage.PhotoId))
     {
         content      = null;
         photoId      = telegramMessage.PhotoId;
         IsDownloaded = false;
         type         = StashMessageType.Photo;
     }
     else
     {
         content      = null;
         IsDownloaded = true;
         type         = StashMessageType.Empty;
     }
 }
Exemplo n.º 15
0
 public void HandleUserMessage(ITelegramUserMessage message)
 {
     messageHandler.HandleUserMessage(message);
 }
Exemplo n.º 16
0
 public StashMessageLocal(ITelegramUserMessage telegramMessage)
 {
     DatabaseMessageId = null;
     FromITelegramUserMessage(telegramMessage);
     keyboardForStashMessage = new KeyboardForStashMessage(this);
 }
Exemplo n.º 17
0
 public IStashMessage Create(ITelegramUserMessage telegramMessage)
 {
     return(new StashMessageSqlite(telegramMessage));
 }
Exemplo n.º 18
0
 internal StashMessageSqlite(ITelegramUserMessage telegramMessage)
 {
     DatabaseMessageId = null;
     FromITelegramUserMessage(telegramMessage);
     keyboardForStashMessage = new KeyboardForStashMessage(this);
 }
Exemplo n.º 19
0
 public IStashMessage CreateStashMessage(ITelegramUserMessage telegramMessage)
 {
     return(databaseStash.CreateStashMessage(telegramMessage));
 }
Exemplo n.º 20
0
 public IStashMessage CreateStashMessage(ITelegramUserMessage telegramMessage)
 {
     return(stashMessageFactory.Create(telegramMessage));
 }