[Route(@"api/message/update")] // webhook uri part public async Task <OkResult> Update([FromBody] Update update) { var commands = Bot.Commands; var client = await Bot.Get(); Telegram.Bot.Types.Message message; int index; long chatId; switch (update.Type) { case UpdateType.Message: message = update.Message; chatId = message.Chat.Id; var messageId = message.MessageId; index = checkUser(chatId); if (message.Text[0] == '/') { Bot.users[index].status = Status.Usual; } if (Bot.users[index].status == Status.Usual) { foreach (var command in commands) { if (command.Contains(message.Text)) { await command.Execute(message, client); break; } } } else { await anotherStatus(message, index, client); } break; case UpdateType.CallbackQuery: chatId = update.CallbackQuery.Message.Chat.Id; index = checkUser(chatId); await CallBackHandler.callbackHandler(update.CallbackQuery, client, Bot.users, index); break; } return(Ok()); }