chat_member 没有被调用

chat_member not getting invocked

我正在使用 TelegrafJSnodejs 开发 telegram 机器人,我想使用“chat_member”,因为它 returns 邀请 link 用户加入电报群使用。但问题是它没有被调用。当新成员加入时。我的主要目标是获得成员使用的邀请 link 加入电报组。

const { Router, Markup, Telegraf } = require('telegraf');

//require .ENV
const path = require('path');
require('dotenv').config({ path: path.resolve(__dirname + './../.env') });

//creating Bot
const bot = new Telegraf(process.env.TELEGRAM_TOKEN);

bot.on("chat_member", async (ctx) => {
    console.log(ctx);
})

bot.on("group_chat_created", async (ctx) => {
    console.log("group_chat_created")
})

//launching bot
bot.launch()
    .then(() => {
        console.log("Bot Running");
    })
    .catch((err) => {
        console.log(`Error Running Bot: ${err}`);
    })

所有其他的都像“group_chat_created”,“new_chat_members”,“left_chat_member”。

文档说我需要将它添加到 allowed_updates 但如何添加它。

我得到了解决方案,我需要添加的是 bot.launch 方法中的启动选项


var options2 =
{
    allowedUpdates: ['chat_member']
}
//launching bot
bot.launch(options2)
    .then(() => {
        console.log("Bot Running");
    })
    .catch((err) => {
        console.log(`Error Running Bot: ${err}`);
    })

您不会直接获得有关此方法的更新,您需要将其添加到 allowed_updates