private static void OnMessage(object sender, MessageEventArgs e) { TelegramBot invoker = Bots[sender as TelegramBotClient]; if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text) { List <BotQuery> botQueries = invoker.BotQueries.Where(x => x.QueryType == MessageType.Text).ToList(); BotQuery target = null; foreach (var query in botQueries) { if (query.Value.Equals(e.Message.Text)) { target = query; break; } } if (target != null) { (sender as TelegramBotClient).SendTextMessageAsync(e.Message.Chat.Id, FormatString(target.Response.Value, e.Message.From)); } } }
public async Task <IActionResult> UpdateQuery(int Id, int BotId, string Query, string Response) { try { Models.User user = await db.Users.Include(x => x.Bots).ThenInclude(x => x.BotQueries) .ThenInclude(x => x.Response).FirstOrDefaultAsync(x => x.Name == User.Identity.Name); BotQuery target = null; TelegramBot bot = user.Bots.FirstOrDefault(x => x.Id == BotId); target = bot.BotQueries.First(x => x.Id == Id); target.Value = Query; target.Response.Value = Response; db.BotQueries.Update(target); await db.SaveChangesAsync(); return(RedirectToAction("EditBot", new { Id = BotId })); } catch { return(View("Error", new ErrorModel("Bad query id"))); } }