You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Telegram API的getUpdates方法获取入群邀请链接失败

问题分析与解决方案

核心问题

你当前收到的是message类型的更新(包含new_chat_member/new_chat_members字段),而非Telegram API中携带invite_link的ChatMemberUpdated对象,因此无法提取到邀请链接。

原因说明

Telegram API里,invite_link字段仅存在于chat_member类型的更新(即ChatMemberUpdated对象)中,旧版的message类型更新(如new_chat_members)并不包含该字段。你虽然设置了allowed_updates: 'chat_member',但返回的是未处理的旧message更新,导致拿不到目标字段。

解决步骤

  1. 清空旧更新:把offset设为最新的update_id + 1,确保后续获取的是新的chat_member类型更新,而非遗留的message更新。
  2. 正确解析ChatMemberUpdated对象:收到chat_member类型更新时,从update.chat_member里提取invite_link字段。

修改后的代码示例

await client.getUpdates({ offset: 0, allowed_updates: ['chat_member'] }).then(async function(updates) {
    let latestOffset = 0;
    if (updates.length > 0) {
        // 获取最新offset,跳过旧更新
        latestOffset = updates[updates.length - 1].update_id + 1;
        // 拉取最新的chat_member类型更新
        const newUpdates = await client.getUpdates({ offset: latestOffset, allowed_updates: ['chat_member'] });
        
        newUpdates.forEach(update => {
            // 判断是否为目标类型更新
            if (update.chat_member) {
                const inviteLink = update.chat_member.invite_link;
                console.log("用户加入使用的邀请链接:", inviteLink);
                
                // 保存更新到文件
                fs.appendFile('update.txt', JSON.stringify(update), function(err) {
                    if (err) throw err;
                    console.log('Saved!');
                });
            }
        });
    }
});

预期的ChatMemberUpdated结构示例

{
    "update_id": 123456,
    "chat_member": {
        "chat": { /* 群组信息 */ },
        "from": { /* 操作人信息 */ },
        "date": 1690000000,
        "old_chat_member": { /* 旧成员状态 */ },
        "new_chat_member": { /* 新成员状态 */ },
        "invite_link": { "url": "https://t.me/xxx", /* 其他邀请链接属性 */ }
    }
}

内容的提问来源于stack exchange,提问作者Yovanis Pineda Osorio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:45:47