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

如何用Telegram Bot退出超级群/频道?LeaveChatAsync报错求助

解决TDLib退出超级群/频道时“Chat not found”的问题

核心原因&解决方案

  • 必须使用带-100前缀的完整ID:超级群和频道的ID在TDLib中必须以-100开头(比如-100123456789),不能省略前缀。同时要确保传入的是long类型数值,避免字符串转换时出现格式错误。
  • 先验证ID有效性:调用LeaveChatAsync前,先通过GetChatAsync确认聊天对象存在,排查是否是ID本身错误:
    Client = new Td.TdClient();
    try
    {
        // 先验证聊天ID是否有效
        var chat = await Client.GetChatAsync(chatid);
        // 验证通过再执行退出
        await Client.LeaveChatAsync(chatid);
    }
    catch (TdException ex)
    {
        // 捕获异常定位问题:比如ID错误、未加入该群/频道、权限不足
        Console.WriteLine($"错误:{ex.Message}");
    }
    
  • 权限检查:
    • 频道创建者无法直接退出,必须先将频道所有权转让给其他成员,才能执行退出操作;
    • 超级群主同理,需要先转让群主身份,否则无法退出;
    • 普通成员出现该错误,大概率是ID格式错误或账号未加入目标群/频道。
  • 版本适配:你使用的TDLib 1.8.12版本较旧,若上述方法无效,可尝试升级到同分支的最新版或更高版本,旧版本可能存在超级群/频道ID处理的兼容性bug。

内容的提问来源于stack exchange,提问作者ar.gorgin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 04:33:13