In this post, I will show you how to respond to “inline_query” in Telegram bot using the Telegraf.js framework.
To listen inline_query
we need to create a simple handler:
const Telegraf = require('telegraf')
const bot = new Telegraf(process.env.BOT_TOKEN)
bot.on('inline_query', async (obj) => {
console.log(res);
})
bot.launch()
This code will log every time when the user sends an inline query.
To get the value from the inline query we need to destructure context
object. You can do this in the following way:
bot.on('inline_query', async ({ inlineQuery }) => {})
To send an answer to inline_query
we need to use answerInlineQuery
the method. We have this method in the context
object in Telegraf.js library.
bot.on('inline_query', async ({ inlineQuery, answerInlineQuery }) => {})
answerInlineQuery
takes one argument - it’s a JSON array of InlineQueryResult. For example:
const Telegraf = require('telegraf')
const bot = new Telegraf(process.env.BOT_TOKEN)
bot.on('inline_query', async ({ inlineQuery, answerInlineQuery }) => {
return answerInlineQuery({
type: 'article',
id: 'someID',
title: 'someTitle',
description: 'someDesc',
thumb_url: 'img_url',
url: 'url'
})
});
comments powered by Disqus