12345678910111213141516171819202122232425262728293031323334353637 |
- using System.Threading.Tasks;
- using CardCollector.Controllers;
- using CardCollector.DataBase.Entity;
- using CardCollector.Resources;
- using Telegram.Bot.Types;
- namespace CardCollector.Commands.InlineQuery
- {
- /* Отображение стикеров в чатах, кроме личной беседы с ботом */
- public class ShowStickersInGroup : InlineQuery
- {
- /* Команда - пустая строка, поскольку пользователь может вводить любые слова
- после @имя_бота, введенная фраза будет использоваться для фильтрации стикеров */
- protected override string CommandText => "";
-
- public override async Task Execute()
- {
- // Фильтр - введенная пользователем фраза
- var filter = Update.InlineQuery!.Query;
- // Получаем список стикеров
- var stickersList = await User.GetStickersList(filter);
- var results = stickersList.ToTelegramResults(Command.send_sticker, false);
- // Посылаем пользователю ответ на его запрос
- await MessageController.AnswerInlineQuery(InlineQueryId, results);
- }
- /* Команда пользователя удовлетворяет условию, если она вызвана
- в беседе/канале */
- protected internal override bool IsMatches(string command)
- {
- return command.Contains("Group") || command.Contains("Supergroup");
- }
- public ShowStickersInGroup() { }
- public ShowStickersInGroup(UserEntity user, Update update) : base(user, update) { }
- }
- }
|