static async void Bot_OnCallbackQuery(object sender, CallbackQueryEventArgs e) { if (e.CallbackQuery.Id != null) { if (e.CallbackQuery.Message.Caption != "****All RESERVED****" && (Convert.ToInt16(Convert.ToString(Regex.Match(input: e.CallbackQuery.Message.Caption, pattern: @"[0-9]+"))) > 1 && !buyer.Contains(e.CallbackQuery.From.Username))) { buyer.Enqueue(e.CallbackQuery.From.Username); product.Enqueue(e.CallbackQuery.Message.Photo[0].FileId); botClient.EditMessageCaptionAsync(chatId: e.CallbackQuery.Message.Chat.Id, messageId: e.CallbackQuery.Message.MessageId, caption: "Available in store - " + Convert.ToString(Convert.ToInt16(Convert.ToString(Regex.Match(input: e.CallbackQuery.Message.Caption, pattern: @"[0-9]+"))) - 1), replyMarkup: new InlineKeyboardMarkup(inlineKeyboardButton: InlineKeyboardButton.WithCallbackData(text: "order", callbackData: "yan") ) ); botClient.AnswerCallbackQueryAsync(callbackQueryId: e.CallbackQuery.Id, showAlert: false, text: "Your Order has been requested 👍"); } else if (e.CallbackQuery.Message.Caption != "****All RESERVED****" && (Convert.ToInt16(Convert.ToString(Regex.Match(input: e.CallbackQuery.Message.Caption, pattern: @"[0-9]+"))) == 1 && !buyer.Contains(e.CallbackQuery.From.Username))) { buyer.Enqueue(e.CallbackQuery.From.Username); product.Enqueue(e.CallbackQuery.Message.Photo[0].FileId); botClient.EditMessageCaptionAsync(chatId: e.CallbackQuery.Message.Chat.Id, messageId: e.CallbackQuery.Message.MessageId, caption: "****All RESERVED****", replyMarkup: new InlineKeyboardMarkup(inlineKeyboardButton: InlineKeyboardButton.WithCallbackData(text: "order", callbackData: "h") ) ); botClient.AnswerCallbackQueryAsync(callbackQueryId: e.CallbackQuery.Id, showAlert: false, text: "Your Order has been requested 👍"); } else if (e.CallbackQuery.Message.Caption == "****All RESERVED****") { botClient.AnswerCallbackQueryAsync(callbackQueryId: e.CallbackQuery.Id, showAlert: false, text: "Sorry all units are currently reserved 😔"); } else { botClient.AnswerCallbackQueryAsync(callbackQueryId: e.CallbackQuery.Id, showAlert: false, text: "Your previose order is Still inprogress 🥶"); } } }
private static async void Bot_OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e) { var data = e.CallbackQuery.Data; var message = e.CallbackQuery.Message; log.Query(e); try { switch (data) { default: return; case "🛒 Связаться с продавцом 🛒": string seller = db.GetUserPhone(e.CallbackQuery.From.Id); if (seller[0] == '+') { await bot.SendContactAsync(e.CallbackQuery.From.Id, seller, "Продавец"); } else { await bot.SendTextMessageAsync(e.CallbackQuery.From.Id, '@' + seller); } return; case "⭐️ В избранное ⭐️": db.AddSelectedOfferToFavorites(e.CallbackQuery.From.Id); return; case "PS4 ⚪️": db.SetPlatform(0, e.CallbackQuery.From.Id, true); break; case "Xbox ⚪️": db.SetPlatform(1, e.CallbackQuery.From.Id, true); break; case "Switch ⚪️": db.SetPlatform(2, e.CallbackQuery.From.Id, true); break; case "Изменить название": await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, "Отправьте название игры в следующем сообщении.", true); db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.name); return; case "Указать цену": await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, "Отправьте цену игры в следующем сообщении.", true); db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.price); return; case "Обмен": if (db.GetExchange(e.CallbackQuery.From.Id, true) != "") { db.SetExchange("", e.CallbackQuery.From.Id, true); break; } else { await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, "Отправьте названия желаемых игр в следующем сообщении.", true); db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.exchange); return; } case "Загрузить фото": await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, "Отправьте фотогрфию в следующем сообщении.", true); db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.photo); return; case "✅ Сохранить ✅": await bot.DeleteMessageAsync(e.CallbackQuery.Message.Chat.Id, db.GetEditMessageId(e.CallbackQuery.From.Id)); await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "✅ Товар добавлен!\n\nℹ️ Чтобы просмотреть список ваших товаров, выберите пункт \"Мои товары\"."); return; case "❌ Удалить ❌": db.DeleteOffer(e.CallbackQuery.From.Id); await bot.DeleteMessageAsync(e.CallbackQuery.Message.Chat.Id, db.GetEditMessageId(e.CallbackQuery.From.Id)); await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "✅ Товар удален!\n\nℹ️ Чтобы просмотреть список ваших товаров, выберите пункт \"Мои товары\"."); return; case "❌ Удалить из избранного ❌": db.DeleteOfferFromFav(db.GetEditOfferId(e.CallbackQuery.From.Id)); await bot.DeleteMessageAsync(e.CallbackQuery.Message.Chat.Id, db.GetEditMessageId(e.CallbackQuery.From.Id)); await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "✅ Товар удален из избранного!\n\nℹ️ Чтобы просмотреть список избранного, выберите пункт \"Избранное\"."); return; } await bot.EditMessageCaptionAsync(message.Chat.Id, message.MessageId, caption : db.GetCaption(e.CallbackQuery.From.Id, true), replyMarkup : IReplies.editKeyboard(db.GetOfferPlatform(e.CallbackQuery.From.Id))); } catch (Exception e3) { log.Error(e3.Message); return; } }