ShowCombineStickers.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Threading.Tasks;
  2. using CardCollector.Controllers;
  3. using CardCollector.DataBase.Entity;
  4. using CardCollector.Resources;
  5. using CardCollector.Session.Modules;
  6. using Telegram.Bot.Types;
  7. using Telegram.Bot.Types.Enums;
  8. namespace CardCollector.Commands.InlineQuery
  9. {
  10. public class ShowCombineStickers : InlineQuery
  11. {
  12. protected override string CommandText => "";
  13. public override async Task Execute()
  14. {
  15. var module = User.Session.GetModule<CombineModule>();
  16. // Получаем список стикеров
  17. var stickersList = await User.GetStickersList(Query, module.Tier);
  18. var results = stickersList.ToTelegramResults(Command.select_sticker);
  19. // Посылаем пользователю ответ на его запрос
  20. await MessageController.AnswerInlineQuery(InlineQueryId, results);
  21. }
  22. protected internal override bool IsMatches(UserEntity user, Update update)
  23. {
  24. return update.InlineQuery?.ChatType is ChatType.Sender && user.Session.State == UserState.CombineMenu;
  25. }
  26. public ShowCombineStickers() { }
  27. public ShowCombineStickers(UserEntity user, Update update) : base(user, update) { }
  28. }
  29. }