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); } } }
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", } } }); }