コード例 #1
0
        public async Task <IActionResult> Post([FromBody] Update update)
        {
            if (update == null)
            {
                return(NoContent());
            }

            switch (update.Type)
            {
            case UpdateType.Message:
            {
                var message = update.Message;
                Console.WriteLine(string.Format("---> Message was recieved {0}, text:{1}  User Id:{2}, message type:{3}", message.Chat.Username, message.Text, message.From.Id, message.Type));

                foreach (var command in _commandService.Get())
                {
                    if (command.Contains(message))
                    {
                        await command.Execute(message, _telegramBotClient, _userManager);

                        break;
                    }
                }
            }
            break;

            case UpdateType.CallbackQuery:
            {
                var callbackQuery = update.CallbackQuery;
                await _callbackHandler.Execute(callbackQuery, _telegramBotClient, _userManager);
            }
            break;
            }

            return(Ok());
        }