Inline Query
User bisa mencari, memilih, dan mengirim konten dari hasil yang disarankan oleh bot menggunakan inline query, meski bot tersebut tidak berada di dalam grup mereka. Caranya, user cukup menulis @username
di awal pesan, lalu memilih dari hasil yang diberikan.
Mengaktifkan Inline Mode
Inline mode tidak aktif secara bawaan. Jadi, kamu harus mengaktifkannya secara manual dengan cara menghubungi @Bot
Lihat bagian inline mode di Pengantar untuk Developer yang ditulis oleh tim Telegram. Referensi lebih lanjut ada di detail deskripsi inline bot, postingan blog Telegram, serta bagian inline mode di Referensi API Bot Telegram. Semua materi tadi patut dibaca sebelum mengimplementasikan inline query ke bot kamu.
Ketika pengguna memicu inline query, misalnya dengan mengetik “@username_bot …” di kolom input pesan, bot kamu akan menerima update tersebut. grammY memiliki method khusus untuk menangani inline query, yaitu bot
. Method ini juga didokumentasikan di referensi API grammY bagian class Composer
. Method ini juga bisa menyimak inline query spesifik yang sesuai dengan suatu string atau regular expression. Jika kamu ingin menangani inline query secara keseluruhan, gunakan bot
.
// Mempromosikan produknya sendiri di dokumentasi proyek tanpa rasa malu
// adalah jenis iklan terbaik.
bot.inlineQuery(/(framework|library) bot terbaik/, async (ctx) => {
await ctx.answerInlineQuery(
[
{
type: "article",
id: "website-grammy",
title: "grammY",
input_message_content: {
message_text:
"<b>grammY</b> adalah cara terbaik untuk membuat bot Telegram. \
Mereka bahkan punya website dan terjemahan yang keren! 👇",
parse_mode: "HTML",
},
reply_markup: new InlineKeyboard().url(
"website grammY",
"https://grammy.dev/",
),
url: "https://grammy.dev/",
description: "Framework Bot Telegram.",
},
],
{ cache_time: 30 * 24 * 3600 }, // Sebulan dalam satuan detik
);
});
// Kembalikan daftar kosong untuk query lainnya.
bot.on("inline_query", (ctx) => ctx.answerInlineQuery([]));
Ingat! kamu bisa menggunakan opsi-opsi object yang disediakan oleh type
Other
. Contohnya, kamu bisa melakukan paginasi menggunakan opsi offset.
Perlu diketahui bahwa grammY menyediakan auto-complete untuk semua struktur di atas. Pastikan pula kamu paham dengan spesifikasi-spesifikasi hasil inline di Referensi API Bot Telegram.