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

如何使用TLSharp创建Telegram频道并修改频道权限(允许添加用户、禁止发送贴纸和投票)

修改Telegram频道权限(基于TLSharp)

嘿,我来帮你搞定这个权限调整的问题!你已经用TLSharp成功创建了频道,现在要修改默认权限(允许添加用户、禁止发送贴纸和投票),得用到TLRequestEditDefaultBannedRights这个请求类,它专门用来设置频道所有新成员的默认权限。

步骤说明与代码示例

首先,你需要从创建频道返回的TLUpdates对象里提取目标频道的Id和AccessHash——这是后续修改权限必须的标识信息。之后就可以构建权限修改请求了:

// 假设你已经从创建频道的返回结果TLUpdates中,拿到了对应的TLChannel实例
var targetChannel = updates.Chats.OfType<TeleSharp.TL.TLChannel>().FirstOrDefault();
if (targetChannel == null)
{
    // 处理频道未找到的情况
    return;
}

// 初始化权限修改请求
var editRightsReq = new TeleSharp.TL.Channels.TLRequestEditDefaultBannedRights();
editRightsReq.Channel = new TeleSharp.TL.TLInputChannel
{
    Id = targetChannel.Id,
    AccessHash = targetChannel.AccessHash
};

// 构建要设置的权限规则
var bannedRights = new TeleSharp.TL.TLBannedRights();
bannedRights.UntilDate = 0; // 设置为0表示权限永久生效
bannedRights.SendStickers = true; // 禁止发送贴纸(true代表禁止该操作)
bannedRights.SendPolls = true; // 禁止发送投票(true代表禁止该操作)
bannedRights.InviteUsers = false; // 允许添加/邀请用户(false代表不禁止该操作)

// 其他权限保持默认即可,比如默认允许发送普通消息(SendMessages=false)
editRightsReq.Rights = bannedRights;

// 发送权限修改请求
var updateResult = await client.SendRequestAsync<TeleSharp.TL.TLUpdates>(editRightsReq);

关键逻辑说明

TLBannedRights类的参数逻辑需要注意:每个属性代表是否禁止对应操作:

  • 设为true:禁止该操作(比如禁止贴纸、投票)
  • 设为false:允许该操作(比如允许邀请用户)
  • UntilDate设为0表示权限永久生效,若想临时限制可以设置具体的时间戳。

如果之后需要修改特定管理员的权限,那就要用TLRequestEditAdmin类,但你需求里的是频道默认成员权限,上面的代码完全适用。

内容的提问来源于stack exchange,提问作者David Con

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:02:32