我正在尝试制作一个电报机器人,我想要聊天邀请链接,通过该链接,成员加入电报中的组。我正在使用NodeJS中的节点电报机器人API,同时使用官方电报机器人API https://core.telegram.org/bots/api#chatmemberupdated中指定的“chatemerUpdated”方法。但我没有得到任何更新,这是代码。
bot.on("chatMemberUpdated", async (update) => {
try {
const chatId = await update.chat.id;
const newMember = await update.message.new_chat_member;
// Check if a new member joined
if (newMember) {
const chatInviteLink = await update.message.chat_invite_link;
if (chatInviteLink) {
console.log(
`New member ${newMember.first_name} joined in chat ${chatId}`
);
console.log(`Chat Invite Link: ${chatInviteLink}`);
} else {
console.log(`Chat Invite Link not available for chat ${chatId}`);
}
}
} catch (error) {
console.log(error)
}
});
字符串
我已经尝试使用'new_chat_members'和'left_chat_member'方法,他们正在返回有关成员加入和离开的数据,但我想要的invite_link,我无法理解使用哪种方法。任何建议都将受到赞赏,如果有任何替代方法,我可以实现上述相同的事情,我也愿意接受这些建议。
1条答案
按热度按时间x33g5p2x1#
我得到了答案后,这是一个愚蠢的错误,在我的结束,“chattererUpdated”是一个方法类型,我们可以通过其中一个成员加入邀请_链接的方式。这里使用的方法是“chat_member”,而{allowed_updates:chat_member}选项可用于电报API官方文档中提到的机器人,
The bot must be an administrator in the chat and must explicitly specify "chat_member" in the list of allowed_updates to receive these updates.
使用telegram的示例代码(我以为node-telegram-bot-api npm包不支持这种方法)如下所示:-字符串
invite_link可以在chatMember对象中找到。我用telegram尝试过,但也可以从node-telegram-bot-api获得相同的结果。