Пример #1
0
        public async Task ProcessMessage(KikGenericRecieveMessageDataObject kikGenericMessage)
        {
            string messageBody = "";

            if (kikGenericMessage is KikMessageDataObject message)
            {
                if (message.body != null)
                {
                    messageBody = message.body;
                }
            }

            var playerState = _playerController.GetPlayerByKikChannel(kikGenericMessage.chatId);

            if (playerState == null)
            {
                _reporter.ReportMessage("The bot was started in a new chat, with username: " + kikGenericMessage.from);
                playerState = _accountController.CreateNewKikAccount(kikGenericMessage.chatId, kikGenericMessage.from);
            }

            var executionResult = _gameExecutor.ProcessNewMessage(messageBody, new PlayerState {
                player = playerState
            });

            if (executionResult != null)
            {
                var batchesToSend = BuildResponses(executionResult, kikGenericMessage.chatId, kikGenericMessage.from);
                foreach (var batch in batchesToSend)
                {
                    await KikMethods.SendMessageAsync(KikService._kikHttp, batch);
                }
            }
        }
Пример #2
0
 public async Task ProcessInvalidInput(KikGenericRecieveMessageDataObject kikGenericMessage)
 {
     await KikMethods.SendMessageAsync(KikService._kikHttp, new KikMessagesSendDataObject {
         messages = new List <KikGenericSendMessageDataObject>
         {
             new KikMessageSendWithoutKeyboardDataObject
             {
                 body   = "That is not a valid input! Please use the suggested response buttons or type in your reply.",
                 chatId = kikGenericMessage.chatId,
                 to     = kikGenericMessage.from,
                 type   = "text",
             }
         }
     });
 }