public async Task <bool> Execute() { string botToken = _configuration.GetValue <string>("Bot:Token"); Telegram.Bot.TelegramBotClient botClient = new Telegram.Bot.TelegramBotClient(botToken); BotSettingModel setting = LoadSetting(); Telegram.Bot.Types.Update[] updates = await botClient.GetUpdatesAsync(setting.LastChatID + 1); string RegisterKey = _configuration.GetValue <string>("Bot:RegisterKey"); string DeleteAccountKey = _configuration.GetValue <string>("Bot:DeleteAccountKey"); string GetResponseKey = _configuration.GetValue <string>("Bot:GetResponseKey"); foreach (Telegram.Bot.Types.Update update in updates) { string chatText = string.Empty; chatText = update?.Message?.Text ?? string.Empty; long chatId = update.Message.Chat.Id; if (chatText == RegisterKey) { if (!setting.Receivers.Any(x => x == chatId.ToString())) { setting.Receivers.Add(chatId.ToString()); await botClient.SendTextMessageAsync(chatId, "به دریافت کنندگان اضافه شدی", replyMarkup : getKeyboard()); } else { await botClient.SendTextMessageAsync(chatId, "قبلا اضافه شدی", replyMarkup : getKeyboard()); } } else if (chatText == DeleteAccountKey) { if (setting.Receivers.Any(x => x == chatId.ToString())) { setting.Receivers.Remove(chatId.ToString()); await botClient.SendTextMessageAsync(chatId, "از دریافت کنندگان حذف شدی", replyMarkup : getKeyboard()); } else { await botClient.SendTextMessageAsync(chatId, "توی لیست نیستی", replyMarkup : getKeyboard()); } } else if (chatText == "/start") { await botClient.SendTextMessageAsync(chatId, "سلام، چیکار کنم برات ؟!", replyMarkup : getKeyboard()); } else if (chatText == GetResponseKey) { await _restApi.GetResponse(chatId); } else { await botClient.SendTextMessageAsync(chatId, "نمیفهمم چی میگی", replyMarkup : getKeyboard()); } setting.LastChatID = update.Id; } SaveSetting(setting); return(true); }