Esempio n. 1
0
        private static async Task CheckInlineQueryAsync(Update update)
        {
            // Telebot will support all 19 types of InlineQueryResult.
            // To see available inline query results:
            // https://core.telegram.org/bots/api#answerinlinequery
            var articleResult = new InlineQueryResultArticle
            {
                Id    = Guid.NewGuid().ToString("N"),
                Title = "This is a title",
                Url   = "https://core.telegram.org/bots/api#inlinequeryresultarticle"
            };

            var photoResult = new InlineQueryResultPhoto
            {
                Id           = Guid.NewGuid().ToString("N"),
                Url          = "https://telegram.org/file/811140636/1/hzUbyxse42w/4cd52d0464b44e1e5b",
                ThumbnailUrl = "https://telegram.org/file/811140636/1/hzUbyxse42w/4cd52d0464b44e1e5b"
            };


            var gifResult = new InlineQueryResultGif
            {
                Id           = Guid.NewGuid().ToString("N"),
                Url          = "http://i.giphy.com/ya4eevXU490Iw.gif",
                ThumbnailUrl = "http://i.giphy.com/ya4eevXU490Iw.gif"
            };

            var results = new InlineQueryResult[] { articleResult, photoResult, gifResult };
            await TelegramMessager._telebot.AnswerInlineQueryAsync(update.InlineQuery.Id, results).ConfigureAwait(false);
        }
Esempio n. 2
0
        public async Task Should_Answer_Inline_Query_With_Article()
        {
            await _fixture.SendTestCaseNotificationAsync(FactTitles.ShouldAnswerInlineQueryWithArticle,
                                                         "Start an inline query with bot. For example, type `@bot_user_name` in chat and wait.");

            InlineQueryResult[] results = new InlineQueryResult[]
            {
                new InlineQueryResultArticle
                {
                    Id                  = "bot-api",
                    Title               = "Telegram Bot API",
                    Description         = "The Bot API is an HTTP-based interface created for developers",
                    InputMessageContent = new InputTextMessageContent
                    {
                        MessageText = "https://core.telegram.org/bots/api",
                    },
                },
            };
            Update update = await _fixture.UpdateReceiver.GetInlineQueryUpdateAsync();

            bool result = await BotClient.AnswerInlineQueryAsync(
                update.InlineQuery.Id,
                results, 0);

            Assert.True(result);
        }
Esempio n. 3
0
        public override InlineQueryResult[] GetResult()
        {
            db = new MarketBotDbContext();

            var product = db.Product.Where(p => p.Name == Query.Trim()).Include(p => p.ProductPhoto).FirstOrDefault();

            InputTextMessageContent[] textcontent = new InputTextMessageContent[product.ProductPhoto.Count];
            InlineQueryResultPhoto[]  ResultPhoto = new InlineQueryResultPhoto[product.ProductPhoto.Count];
            InlineQueryResult[]       result      = new InlineQueryResult[product.ProductPhoto.Count];

            if (product != null)
            {
                int i = 0;
                foreach (var photo in product.ProductPhoto)
                {
                    var attach = db.AttachmentFs.Find(photo.AttachmentFsId);


                    ResultPhoto[i]         = new InlineQueryResultPhoto();
                    ResultPhoto[i].Id      = (i + 1).ToString();
                    ResultPhoto[i].Caption = attach.Caption;
                    // ResultPhoto[i].Url = db.AttachmentTelegram.Where(a => a.AttachmentFsId == attach.Id && a.BotInfoId == this.BotInfo.Id).FirstOrDefault().FileId;
                    ResultPhoto[i].ThumbUrl = "https://groosha.gitbooks.io/telegram-bot-lessons/l9_2.png";
                    ResultPhoto[i].Url      = "https://groosha.gitbooks.io/telegram-bot-lessons/l9_2.png";
                    result[i] = new InlineQueryResult();

                    result[i] = ResultPhoto[i];
                    i++;
                }
            }

            return(result);
        }
        public override InlineQueryResult[] GetResult()
        {
            var Orders = FollowerFunction.FollowerOrder(FollowerId).Take(MaxResult).ToList();

            InputTextMessageContent[]  textcontent = new InputTextMessageContent[Orders.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[Orders.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[Orders.Count];

            int i = 0;

            foreach (var order in Orders)
            {
                textcontent[i]                       = new InputTextMessageContent();
                textcontent[i].ParseMode             = Telegram.Bot.Types.Enums.ParseMode.Html;
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = "/order" + order.Number.ToString();

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = false;
                article[i].Id          = order.Id.ToString();
                article[i].Title       = "Заказ №" + order.Number.ToString();
                article[i].Description = "Время:" + order.DateAdd.ToString() + BotMessage.NewLine();

                article[i].ThumbUrl            = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-19-256.png";
                article[i].InputMessageContent = textcontent[i];

                result[i] = new InlineQueryResult();
                result[i] = article[i];

                i++;
            }

            return(result);
        }
Esempio n. 5
0
        public async Task <InlineQueryResult[]> CreateAnswerInline(string query)
        {
            InlineQueryResult[] results = null;

            if (!String.IsNullOrEmpty(query))
            {
                results = new InlineQueryResult[]
                {
                    new InlineQueryResultArticle
                    {
                        Id                  = "1",
                        Title               = "Eve:",
                        Description         = "Сейчас ответ на любой запрос - ага",
                        InputMessageContent = new InputTextMessageContent
                        {
                            // если true, то окно с результатом появляется сразу, false - только после ввода запроса
                            //DisableWebPagePreview = true,
                            MessageText = "ага",
                            ParseMode   = ParseMode.Default,
                        }
                    },
                    new InlineQueryResultPhoto
                    {
                        Id          = "2",
                        Url         = "https://guitarcity.by/image/data/logo_bf.png",
                        ThumbUrl    = "https://guitarcity.by/image/data/logo_bf.png",
                        Caption     = "Текст под фоткой",
                        Description = "Описание",
                    }
                };
            }
            return(results);
        }
        public static bool IsMedia(this InlineQueryResult result)
        {
            switch (result)
            {
            case InlineQueryResultAnimation animation:
                return(true);

                return(string.IsNullOrEmpty(animation.Title));

            case InlineQueryResultLocation location:
                return(string.IsNullOrEmpty(location.Title));

            case InlineQueryResultPhoto photo:
                return(true);

                return(string.IsNullOrEmpty(photo.Title));

            case InlineQueryResultSticker sticker:
                return(true);

            case InlineQueryResultVideo video:
                return(string.IsNullOrEmpty(video.Title));

            default:
                return(false);
            }
        }
Esempio n. 7
0
        public override InlineQueryResult[] GetResult()
        {
            var Address = FollowerFunction.FollowerAddress(FollowerId).Take(MaxResult).ToList();

            InlineQueryResultLocation[] location = new InlineQueryResultLocation[Address.Count];
            InlineQueryResult[]         result   = new InlineQueryResult[Address.Count];

            int i = 0;

            foreach (var adr in Address)
            {
                location[i]       = new InlineQueryResultLocation();
                location[i].Id    = adr.Id.ToString();
                location[i].Title = adr.House.Street.Name + " " + adr.House.Number;
                result[i]         = location[i];

                if (adr.House != null && adr.House.Latitude != null && adr.House.Longitude != null)
                {
                    location[i].Longitude = Convert.ToSingle(adr.House.Longitude);
                    location[i].Latitude  = Convert.ToSingle(adr.House.Latitude);
                }

                else
                {
                    location[i].Longitude = 0;
                    location[i].Latitude  = 0;
                }

                i++;
            }

            return(result);
        }
Esempio n. 8
0
        public override InlineQueryResult[] GetResult()
        {
            db = new MarketBotDbContext();

            var ProductList = GetProductList().Take(MaxResult).ToList();

            InputTextMessageContent[]  textcontent = new InputTextMessageContent[ProductList.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[ProductList.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[ProductList.Count];

            int i = 0;

            foreach (Product prod in ProductList)
            {
                textcontent[i]                       = new InputTextMessageContent();
                textcontent[i].ParseMode             = Telegram.Bot.Types.Enums.ParseMode.Html;
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = "/adminproduct" + prod.Id.ToString();

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = true;
                article[i].Id          = prod.Id.ToString();
                article[i].Title       = prod.Name;
                article[i].Description = "Категория:" + prod.Category.Name + BotMessage.NewLine() + "Цена:" + prod.CurrentPrice.Value;

                article[i].ThumbUrl            = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-07-256.png";
                article[i].InputMessageContent = textcontent[i];
                result[i] = article[i];
                i++;
            }


            db.Dispose();
            return(result);
        }
Esempio n. 9
0
        public long GetQueryId(InlineQueryResult result)
        {
            if (_queryIds.TryGetValue(result, out long value))
            {
                return(value);
            }

            return(0);
        }
Esempio n. 10
0
        public static async Task <string> CalbackAnswer(string calbackId)
        {
            var Api = createAsync();

            InlineQueryResult[] inlines = new InlineQueryResult[]
            {
                new InlineQueryResult {
                    Title = "همینه"
                }
            };
            await Api.AnswerCallbackQueryAsync(calbackId, "جوجه اردک زشت");

            return("success");
        }
        public override InlineQueryResult[] GetResult()
        {
            db = new MarketBotDbContext();

            this.FollowerList = GetFollower().Take(MaxResult).ToList();

            InputTextMessageContent[]  textcontent = new InputTextMessageContent[FollowerList.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[FollowerList.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[FollowerList.Count];

            int i = 0;

            foreach (var follower in FollowerList)
            {
                string telephoneLine = "";

                FollowerControlMessage followerControlMessage = new FollowerControlMessage(follower.Id);
                var message = followerControlMessage.BuildMsg();

                if (follower.Telephone != null && follower.Telephone != "")
                {
                    telephoneLine = BotMessage.NewLine() + "Телефон: " + follower.Telephone;
                }


                textcontent[i]                       = new InputTextMessageContent();
                textcontent[i].ParseMode             = Telegram.Bot.Types.Enums.ParseMode.Html;
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = message.TextMessage;

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = false;
                article[i].Id          = follower.Id.ToString();
                article[i].Title       = follower.FirstName + " " + follower.LastName;
                article[i].Description = telephoneLine;
                article[i].ReplyMarkup = followerControlMessage.SetInline();

                article[i].ThumbUrl            = "https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-11-2-256.png";
                article[i].Url                 = "https://t.me/" + follower.UserName;
                article[i].InputMessageContent = textcontent[i];

                result[i] = new InlineQueryResult();
                result[i] = article[i];

                i++;
            }

            return(result);
        }
        public async void SendBotInlineResult(InlineQueryResult queryResult, long queryId)
        {
            var chat = _chat;

            if (chat == null)
            {
                return;
            }

            var currentInlineBot = CurrentInlineBot;

            if (currentInlineBot == null)
            {
                return;
            }

            var options = await PickSendMessageOptionsAsync();

            if (options == null)
            {
                return;
            }

            //var channel = With as TLChannel;
            //if (channel != null && channel.HasBannedRights && channel.BannedRights.IsSendGames && result.Type.Equals("game", StringComparison.OrdinalIgnoreCase))
            //{
            //    if (channel.BannedRights.IsForever())
            //    {
            //        await TLMessageDialog.ShowAsync(Strings.Resources.AttachMediaRestrictedForever, Strings.Resources.AppName, Strings.Resources.OK);
            //    }
            //    else
            //    {
            //        await TLMessageDialog.ShowAsync(string.Format(Strings.Resources.AttachMediaRestricted, BindConvert.Current.BannedUntil(channel.BannedRights.UntilDate)), Strings.Resources.AppName, Strings.Resources.OK);
            //    }

            //    return;
            //}

            SetText(null, false);

            CurrentInlineBot = null;
            InlineBotResults = null;

            var reply = GetReply(true);

            var response = await ProtoService.SendAsync(new SendInlineQueryResultMessage(chat.Id, reply, options, queryId, queryResult.GetId(), false));
        }
Esempio n. 13
0
        public InlineQueryResult[] ProductInlineSearch()
        {
            List <Product> product = new List <MyTelegramBot.Product>();
            SqlParameter   param   = new SqlParameter("@name", "%" + Query + "%");

            product = db.Product.FromSql("SELECT * FROM Product WHERE Name LIKE @name and Enable=1", param).
                      Include(p => p.ProductPrice).Include(p => p.Stock).Include(p => p.ProductPrice).Include(p => p.Unit).ToList();


            InputTextMessageContent[]  textcontent = new InputTextMessageContent[product.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[product.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[product.Count];


            for (int i = 0; i < product.Count; i++)
            {
                textcontent[i] = new InputTextMessageContent();
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = product[i].ToString();

                product[i].ProductPrice.Where(p => p.Enabled).FirstOrDefault().Currency
                    = db.Currency.Where(c => c.Id == product[i].ProductPrice.Where(p => p.Enabled).FirstOrDefault().CurrencyId).FirstOrDefault();

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = true;
                article[i].Id          = product[i].Id.ToString();
                article[i].Title       = product[i].Name;
                article[i].Description = product[i].Name + " "
                                         + product[i].ProductPrice.Where(p => p.Enabled).FirstOrDefault().Value.ToString() + " "
                                         + product[i].ProductPrice.Where(p => p.Enabled).FirstOrDefault().Currency.ShortName
                                         + "\r\nНажмите сюда";

                article[i].ThumbUrl            = product[i].PhotoUrl;
                article[i].Url                 = product[i].TelegraphUrl;
                article[i].InputMessageContent = textcontent[i];
                article[i].ReplyMarkup         = new InlineKeyboardMarkup(
                    new[] {
                    new[]
                    {
                        OpenBtn = new InlineKeyboardCallbackButton("Открыть", BuildCallData("GetProduct", product[i].Id))
                    }
                });
                result[i] = new InlineQueryResult();
                result[i] = article[i];
            }
            return(result);
        }
        public static string GetId(this InlineQueryResult result)
        {
            switch (result)
            {
            case InlineQueryResultAnimation animation:
                return(animation.Id);

            case InlineQueryResultArticle article:
                return(article.Id);

            case InlineQueryResultAudio audio:
                return(audio.Id);

            case InlineQueryResultContact contact:
                return(contact.Id);

            case InlineQueryResultDocument document:
                return(document.Id);

            case InlineQueryResultGame game:
                return(game.Id);

            case InlineQueryResultLocation location:
                return(location.Id);

            case InlineQueryResultPhoto photo:
                return(photo.Id);

            case InlineQueryResultSticker sticker:
                return(sticker.Id);

            case InlineQueryResultVenue venue:
                return(venue.Id);

            case InlineQueryResultVideo video:
                return(video.Id);

            case InlineQueryResultVoiceNote voiceNote:
                return(voiceNote.Id);

            default:
                return(null);
            }
        }
        public override InlineQueryResult[] GetResult()
        {
            BotId = GeneralFunction.GetBotInfo().Id;

            AdditionalPhotos = ProductFunction.GetAdditionalPhoto(ProductId, BotId).Take(MaxResult).ToList();

            InlineQueryResult [] result = new InlineQueryResult[AdditionalPhotos.Count];

            InlineQueryResultCachedPhoto[] cachedPhoto = new InlineQueryResultCachedPhoto[AdditionalPhotos.Count];

            int i = 0;

            foreach (var photo in AdditionalPhotos)
            {
                RemoveAdditionalPhotoBtn   = BuildInlineBtn("Удалить", BuildCallData(ProductEditBot.RemoveAdditionalPhotoCmd, ProductEditBot.ModuleName, photo.ProductId, photo.AttachFsId));
                BackToProductEditorBtn     = BuildInlineBtn("Вернуться к товару", BuildCallData(ProductEditBot.ProductEditorCmd, ProductEditBot.ModuleName, photo.ProductId));
                ViewAdditionalPhotoBtn     = InlineKeyboardButton.WithSwitchInlineQueryCurrentChat("Другие фотографии", InlineFind.AdditionalProduct + "|" + ProductId);
                cachedPhoto[i]             = new InlineQueryResultCachedPhoto();
                cachedPhoto[i].FileId      = photo.FileId;
                cachedPhoto[i].Caption     = photo.Caption;
                cachedPhoto[i].Id          = photo.AttachFsId.ToString();
                cachedPhoto[i].ReplyMarkup = new Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup(
                    new[]
                {
                    new[]
                    {
                        RemoveAdditionalPhotoBtn
                    },
                    new[]
                    {
                        BackToProductEditorBtn
                    },
                    new[]
                    {
                        ViewAdditionalPhotoBtn
                    }
                });

                result[i] = cachedPhoto[i];
                i++;
            }
            return(result);
        }
Esempio n. 16
0
        public async Task Should_Edit_Inline_Message_Markup()
        {
            await _fixture.SendTestCaseNotificationAsync(FactTitles.ShouldEditInlineMessageMarkup,
                                                         "Start an inline query, post its result to chat, and click on the inline button");

            string data          = "change-me" + new Random().Next(2_000);
            var    initialMarkup = new InlineKeyboardMarkup(new InlineKeyboardButton[]
            {
                new InlineKeyboardCallbackButton("Click here to change this button", data)
            });
            var editedMarkup = new InlineKeyboardMarkup(new InlineKeyboardButton[]
            {
                new InlineKeyboardCallbackButton("Keyboard button edited", "edited")
            });
            var inlineQueryResults = new InlineQueryResult[]
            {
                new InlineQueryResultArticle
                {
                    Id                  = "bot-api",
                    Title               = "Telegram Bot API",
                    Description         = "The Bot API is an HTTP-based interface created for developers",
                    InputMessageContent = new InputTextMessageContent
                    {
                        MessageText = "https://core.telegram.org/bots/api"
                    },
                    ReplyMarkup = initialMarkup,
                },
            };
            var iqUpdate = await _fixture.UpdateReceiver.GetInlineQueryUpdateAsync();

            await BotClient.AnswerInlineQueryAsync(iqUpdate.InlineQuery.Id, inlineQueryResults, 0);

            var callbackUpdate = await _fixture.UpdateReceiver.GetCallbackQueryUpdateAsync();

            bool result = await BotClient.EditInlineMessageReplyMarkupAsync(
                callbackUpdate.CallbackQuery.InlineMessageId,
                editedMarkup);

            Assert.Equal(data, callbackUpdate.CallbackQuery.Data);
            Assert.True(result);
        }
        public override InlineQueryResult[] GetResult()
        {
            db = new MarketBotDbContext();

            var Follower = db.Follower.Where(f => f.ChatId == ChatId).FirstOrDefault();

            if (Follower != null)
            {
                OrderList = db.Orders.Where(o => o.FollowerId == Follower.Id).OrderByDescending(o => o.Id).Take(MaxResult).ToList();

                int i = 0;

                InputTextMessageContent[]  textcontent = new InputTextMessageContent[OrderList.Count];
                InlineQueryResultArticle[] article     = new InlineQueryResultArticle[OrderList.Count];
                InlineQueryResult[]        result      = new InlineQueryResult[OrderList.Count];

                foreach (Orders order in OrderList)
                {
                    textcontent[i]                       = new InputTextMessageContent();
                    textcontent[i].ParseMode             = Telegram.Bot.Types.Enums.ParseMode.Html;
                    textcontent[i].DisableWebPagePreview = true;
                    textcontent[i].MessageText           = "/myorder" + order.Number.ToString();

                    article[i]             = new InlineQueryResultArticle();
                    article[i].HideUrl     = true;
                    article[i].Id          = order.Id.ToString();
                    article[i].Title       = order.Number.ToString();
                    article[i].Description = "№:" + order.Number.ToString() + BotMessage.NewLine() + "Дата:" + order.DateAdd.ToString();

                    article[i].ThumbUrl            = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-04-256.png";
                    article[i].InputMessageContent = textcontent[i];
                    result[i] = article[i];
                    i++;
                }
                db.Dispose();
                return(result);
            }

            return(null);
        }
        public override InlineQueryResult[] GetResult()
        {
            var list = PaymentsFunction.GetPaymentsList().Take(MaxResult).ToList();


            InputTextMessageContent[]  textcontent = new InputTextMessageContent[list.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[list.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[list.Count];

            int i = 0;

            foreach (var payment in list)
            {
                //PaymentViewMsg = new Messages.Admin.PaymentViewMessage(payment);
                //BotMessage mess = PaymentViewMsg.BuildMsg();

                textcontent[i]                       = new InputTextMessageContent();
                textcontent[i].ParseMode             = Telegram.Bot.Types.Enums.ParseMode.Html;
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = "/payment" + payment.Id.ToString();

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = false;
                article[i].Id          = payment.Id.ToString();
                article[i].Title       = "Платеж №" + payment.Id.ToString();
                article[i].Description = payment.TimestampDataAdd.ToString();

                article[i].ThumbUrl = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-01-256.png";
                //article[i].ReplyMarkup = mess.MessageReplyMarkup;
                article[i].InputMessageContent = textcontent[i];


                result[i] = new InlineQueryResult();
                result[i] = article[i];

                i++;
            }

            return(result);
        }
        /// <summary>
        /// Фотокаталог
        /// </summary>
        /// <returns></returns>
        public override InlineQueryResult[] GetResult()
        {
            db = new MarketBotDbContext();

            var ProductList = GetProductList().Take(MaxResult).ToList();

            InlineQueryResult[] result;

            List <InlineQueryResultCachedPhoto> cachedPhotoList = new List <InlineQueryResultCachedPhoto>();

            for (int i = 0; i < ProductList.Count; i++)
            {
                var attach_telegram = db.AttachmentTelegram.Where(a => a.AttachmentFsId == ProductList[i].MainPhoto && a.BotInfoId == BotInfo.Id)
                                      .FirstOrDefault();
                if (attach_telegram != null)
                {
                    Messages.ProductViewMessage  productView = new Messages.ProductViewMessage(ProductList[i]);
                    InlineQueryResultCachedPhoto cachedPhoto = new InlineQueryResultCachedPhoto();

                    string caption = ProductList[i].ToString();

                    if (caption.Length > 200)
                    {
                        caption = caption.Substring(0, 199);
                    }

                    cachedPhoto.Caption     = caption;
                    cachedPhoto.Id          = ProductList[i].Id.ToString();
                    cachedPhoto.FileId      = attach_telegram.FileId;
                    cachedPhoto.ReplyMarkup = productView.MainPageButtons();
                    cachedPhotoList.Add(cachedPhoto);
                }
            }
            result = new InlineQueryResult[cachedPhotoList.Count];
            result = cachedPhotoList.ToArray();
            db.Dispose();
            return(result);
        }
        public override InlineQueryResult[] GetResult()
        {
            this.Orders = GetOrder();
            InputTextMessageContent[]  textcontent = new InputTextMessageContent[Orders.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[Orders.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[Orders.Count];


            for (int i = 0; i < Orders.Count; i++)
            {
                string StatusOrderLine = "";

                if (Orders[i].CurrentStatusNavigation != null)
                {
                    StatusOrderLine = "\r\nСтатус: " + db.Status.Find(Orders[i].CurrentStatusNavigation.StatusId).Name;
                }

                textcontent[i] = new InputTextMessageContent();
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = "/order" + Orders[i].Number.ToString();

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = true;
                article[i].Id          = Orders[i].Number.ToString();
                article[i].Title       = Orders[i].Number.ToString();
                article[i].Description = "№" + Orders[i].Number.ToString() + "\r\nДата:" + Orders[i].DateAdd.ToString()
                                         + StatusOrderLine;

                article[i].ThumbUrl            = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-19-256.png";
                article[i].InputMessageContent = textcontent[i];


                result[i] = new InlineQueryResult();
                result[i] = article[i];
            }
            db.Dispose();
            return(result);
        }
Esempio n. 21
0
        private Task CheckInlineQueryAsync(Update update)
        {
            WriteLine(ConsoleColor.Green, "Received InlineQuery:");
            Dump(update, ConsoleColor.Green);

            var articleResult = new InlineQueryResultArticle
            {
                Id    = Guid.NewGuid().ToString("N"),
                Title = "This is a title",
                Url   = "https://core.telegram.org/bots/api#inlinequeryresultarticle"
            };

            var photoResult = new InlineQueryResultPhoto
            {
                Id           = Guid.NewGuid().ToString("N"),
                Url          = "https://telegram.org/file/811140636/1/hzUbyxse42w/4cd52d0464b44e1e5b",
                ThumbnailUrl = "https://telegram.org/file/811140636/1/hzUbyxse42w/4cd52d0464b44e1e5b"
            };


            var gifResult = new InlineQueryResultGif
            {
                Id           = Guid.NewGuid().ToString("N"),
                Url          = "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Rotating_earth_%28large%29.gif/200px-Rotating_earth_%28large%29.gif",
                ThumbnailUrl = "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Rotating_earth_%28large%29.gif/200px-Rotating_earth_%28large%29.gif"
            };

            var results = new InlineQueryResult[] { articleResult, photoResult, gifResult };

            var answerId = update.InlineQuery.Id;

            WriteLine(ConsoleColor.DarkGreen, "Sending: ");
            WriteLine(ConsoleColor.DarkGreen, $"Answer Id: {answerId}");
            Dump(results, ConsoleColor.DarkGreen);

            return(this._telebot.AnswerInlineQueryAsync(answerId, results));
        }
Esempio n. 22
0
        public override InlineQueryResult[] GetResult()
        {
            list = HelpDeskFunction.GetHelpDeskList(Number).Take(MaxResult).ToList();


            InputTextMessageContent[]  textcontent = new InputTextMessageContent[list.Count];
            InlineQueryResultArticle[] article     = new InlineQueryResultArticle[list.Count];
            InlineQueryResult[]        result      = new InlineQueryResult[list.Count];

            int i = 0;

            foreach (var help in list)
            {
                textcontent[i]                       = new InputTextMessageContent();
                textcontent[i].ParseMode             = Telegram.Bot.Types.Enums.ParseMode.Html;
                textcontent[i].DisableWebPagePreview = true;
                textcontent[i].MessageText           = "/ticket" + help.Number.ToString();

                article[i]             = new InlineQueryResultArticle();
                article[i].HideUrl     = false;
                article[i].Id          = help.Id.ToString();
                article[i].Title       = "Заявка №" + help.Number.ToString();
                article[i].Description = help.Number + BotMessage.NewLine() +
                                         "Время:" + help.Timestamp;

                article[i].ThumbUrl            = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-10-256.png";
                article[i].InputMessageContent = textcontent[i];

                result[i] = new InlineQueryResult();
                result[i] = article[i];

                i++;
            }

            return(result);
        }
 public Task<bool> AnswerInlineQuery(string inlineQueryId, InlineQueryResult[] results, int? cacheTime = null,
     bool isPersonal = false, string nextOffset = null, string switchPmText = null,
     string switchPmParameter = null)
     => AnswerInlineQueryAsync(inlineQueryId, results, cacheTime, isPersonal, nextOffset, switchPmText, switchPmParameter);