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

如何使用aiogram通过机器人设置、管理Telegram群组权限

使用aiogram实现 Telegram 机器人群组权限管理

前置要求

你的机器人必须被设置为对应群组的管理员,且被授予管理群组权限的管理员权限,否则权限设置接口会调用失败。

核心用法

你需要用到ChatPermissions类定义权限规则,再调用set_permissions方法应用规则。
首先导入依赖:
from aiogram.types import ChatPermissions

示例1:全局禁言普通群成员(仅管理员可发言)

# 定义禁言权限规则
restrict_permissions = ChatPermissions(
    can_send_messages=False,
    can_send_media_messages=False,
    can_send_polls=False,
    can_send_other_messages=False,
    can_add_web_page_previews=False,
    can_change_info=False,
    can_invite_users=False,
    can_pin_messages=False
)
# 应用规则到指定群组,替换chat_id为你的目标群组ID
await bot.get_chat(chat_id=YOUR_GROUP_ID).set_permissions(restrict_permissions)

示例2:恢复普通群成员默认发言权限

# 定义常规权限规则
normal_permissions = ChatPermissions(
    can_send_messages=True,
    can_send_media_messages=True,
    can_send_polls=True,
    can_send_other_messages=True,
    can_add_web_page_previews=True,
    can_change_info=False,
    can_invite_users=True,
    can_pin_messages=False
)
# 应用规则到指定群组
await bot.get_chat(chat_id=YOUR_GROUP_ID).set_permissions(normal_permissions)

示例3:单独设置指定用户的群权限

只需在调用set_permissions时额外传入user_id参数即可,用户级权限优先级高于群组全局权限:

# 禁止ID为123456的用户发送消息
await bot.get_chat(chat_id=YOUR_GROUP_ID).set_permissions(
    permissions=ChatPermissions(can_send_messages=False),
    user_id=123456
)

权限参数说明

  • can_send_messages:允许发送文本、表情、贴纸、位置、联系人类基础消息
  • can_send_media_messages:允许发送照片、视频、文件、音频类媒体消息
  • can_send_polls:允许发起群投票
  • can_send_other_messages:允许发送动画、游戏、内联机器人返回内容等特殊消息
  • can_add_web_page_previews:允许用户发送的链接自动生成页面预览
  • can_change_info:允许修改群组名称、描述、头像等公开信息
  • can_invite_users:允许邀请新用户加入群组
  • can_pin_messages:允许置顶群内消息

提示:不需要修改的权限参数可以省略不写,接口会保留原有配置。

内容的提问来源于stack exchange,提问作者Balaji Kotni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 12:36:02