我将TelegrafJS与NodeJS结合使用来创建Telegram
机器人,实际上我发现TelegrafJS
的文档确实很差而且很困难。
基本上,我想知道当用户按下按钮Add project
时如何打印消息:
require('dotenv').config({ path: `.env` });
const Telegraf = require('telegraf');
const bot = new Telegraf(process.env.BOT_TOKEN);
const Markup = require('telegraf/markup');
bot.start((ctx) => ctx.replyWithMarkdown(
`Welcome to my bot.`,
Markup.inlineKeyboard([
Markup.callbackButton('Add project...', 'Hello world')
]).extra()
));
bot.startPolling();
实际上,当我按Add project
时,什么也没有发生。很抱歉这个愚蠢的问题,但是我是电报的新手,我有很多东西要学习
答案 0 :(得分:1)
找到答案here,实际上,当您单击按钮电报发送query
时,可以使用以下代码触发该事件:
bot.on('callback_query', (ctx) => {
const action = ctx.update.callback_query.data;
switch (action) {
case 'Hello world':
console.log("works!");
break;
}
});
.data
包含您在按钮标题之后插入的标签,对于我来说是Hello world
,但是您当然可以添加所有想要的内容。