Skip to content

语音频道 (voice)

让机器人加入 / 离开语音频道,支持 DAVE 加密。

  • 配置键voicechannel
  • 源文件cogs/voice.py

权限判定(特殊)

语音指令使用自定义权限判定,而非普通的 Mod / Admin 等级:

  • allowed_user_ids 为空:仅 Mod(含 Admin)可用。
  • allowed_user_ids 非空:白名单用户 Mod 均可用。

白名单项可以是用户 ID 或用户名。

指令

vc join — 加入语音频道

让机器人加入你当前所在的语音频道,或指定频道。

项目说明
权限白名单用户 / Mod
参数channel(可选,留空则使用你当前所在语音频道)
机器人权限连接(Connect)
审计✅ 记录(joinvc

行为细节:

  • 加入时机器人自动 self-deaf + self-mute(自闭麦 / 自静音)。
  • 若机器人已在其他频道,会先断开再加入目标频道(提示「已移动到」)。
  • 若已在目标频道,提示「已经在里面了」。
  • 加入后将机器人状态设为「正在收听 <频道名>」。
  • 若频道要求 DAVE 加密 但连接失败(错误码 4017),会提示相应错误。
  • 不支持讲堂频道(StageChannel)作为「你当前所在频道」自动加入。

vc leave — 离开语音频道

让机器人离开当前所在语音频道。

项目说明
权限白名单用户 / Mod
审计✅ 记录(leavevc
  • 若机器人未在任何语音频道会提示。
  • 离开后将机器人状态设为「正在观看 等待指令...」。

配置

yaml
voicechannel:
  enabled: false
  slash: true
  prefix: true
  allowed_user_ids: []    # 留空: 仅 mod 可用; 非空: 白名单用户 + mod 可用
字段类型默认值说明
enabledboolfalse是否启用语音模块
slashbooltrue是否注册斜杠指令
prefixbooltrue是否注册前缀指令
allowed_user_idslist[int | str][]语音指令白名单(用户 ID / 用户名)

DAVE 加密

DAVE(Discord Audio & Video End-to-End Encryption)依赖 daveyPyNaCl,已包含在项目依赖中(discord-py[voice])。

基于 MIT 许可发布