telegram bot api InlineQuery

telegram bot api inline query
08 اسفند 1403


سلام دوستان! امروز می‌خواهیم در مورد API بات تلگرام و ویژگی جذاب InlineQuery صحبت کنیم. این ویژگی به کاربران اجازه می‌دهد که به راحتی اطلاعات مورد نظر خود را به صورت بلادرنگ از طریق بات دریافت کنند. به عنوان مثال، اگر کاربری چیزی را جستجو کند، بات می‌تواند نتایج را به صورت فوری نشان دهد بدون اینکه کاربر نیازی به ارسال یک پیام جدید داشته باشد.


InlineQuery در واقع نوعی ارتباط است که بین کاربر و بات از طریق جستجو در سیستم تلگرام برقرار می‌شود. کاربران می‌توانند با وارد کردن @نام بات در چت خود، بلافاصله شروع به جستجو کنند. سپس بات می‌تواند نتایجی را به صورت لیست ارائه دهد که شامل پاراگراف‌ها، تصاویر، یا هر نوع محتوای دیگری که بات قادر به ارائه آن است، می‌باشد.


برای پیاده‌سازی این ویژگی، شما به یک API Key و استفاده از روش‌های HTTP برای ارتباط با سرور تلگرام نیاز دارید. این یک راه عالی برای تعامل با کاربران و ارائه اطلاعات مفید به آن‌هاست. به همین خاطر، اگر می‌خواهید با قابلیت‌های بات تلگرام آشنا شوید، حتماً این مقاله را تا انتها مطالعه کنید.


ما در اینجا قصد داریم نمونه کدهایی را پیاده‌سازی کنیم که فرآیند استفاده از InlineQuery را نشان می‌دهد. با استفاده از زبان‌های مختلف برنامه‌نویسی، می‌توانید به سادگی با تلگرام ارتباط برقرار کنید و از این قابلیت ویژه بهره‌برداری کنید.


نمونه کد استفاده از InlineQuery API


{
"inline_query_id": "some_unique_id",
"results": [
{
"type": "article",
"id": "1",
"title": "نتیجه اول",
"input_message_content": {
"message_text": "این اولین نتیجه است!"
}
},
{
"type": "article",
"id": "2",
"title": "نتیجه دوم",
"input_message_content": {
"message_text": "این دومین نتیجه است!"
}
}
]
}

توضیحات کد


inline_query_id: این فیلد شناسه منحصربه‌فرد است که برای شناسایی درخواست InlineQuery استفاده می‌شود.

results: در این فیلد، لیستی از نتایج جستجو مشخص می‌شود که بات باید برای کاربر نمایش دهد.

type: نوع نتیجه را مشخص می‌کند که در اینجا نوع آن "article" است.

id: شناسه منحصربه‌فرد برای هر نتیجه در لیست.

title: عنوان پیام یا نتیجه‌ای که کاربر بعداً مشاهده می‌کند.

input_message_content: محتوای پیامی که کاربر با انتخاب این نتیجه دریافت خواهد کرد.

سوالات متداول

؟

InlineQuery چطور کار می‌کند؟

؟

چطور می‌توانم نتایج را برای InlineQuery فرستاد؟

؟

آیا نیاز به شناسه برای InlineQuery هست؟

؟

نتایج چه نوع محتوایی را می‌توانند شامل شوند؟