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

Hikari技术问题:如何将成员添加至指定频道

在Hikari中添加成员到指定频道的实现方法

Discord客户端里的"添加成员到频道"操作分两种场景,对应Hikari里不同的实现方式,以下是具体步骤:

1. 移动成员至语音频道

这是最常见的场景(右键成员选择移动到语音频道),通过修改公会成员的语音频道属性实现:

  • 权限要求:机器人需拥有MOVE_MEMBERS权限,且目标语音频道对机器人开放
  • 代码示例:
import hikari

async def move_member_to_voice(bot, guild_id: int, user_id: int, channel_id: int):
    await bot.rest.modify_guild_member(
        guild_id=guild_id,
        user_id=user_id,
        channel_id=channel_id,
        reason="用户请求移动至指定语音频道"
    )

2. 添加成员至私有文字频道

私有文字频道需要通过赋予成员频道权限实现:

  • 权限要求:机器人需拥有MANAGE_CHANNELS或MANAGE_ROLES权限
  • 代码示例:
import hikari

async def add_member_to_private_text(bot, channel_id: int, user_id: int):
    # 优先从缓存获取频道,缓存无则通过REST拉取
    channel = bot.cache.get_guild_channel(channel_id) or await bot.rest.fetch_channel(channel_id)
    
    await channel.edit_permissions(
        user_id,
        allow=hikari.Permissions.VIEW_CHANNEL | hikari.Permissions.SEND_MESSAGES,
        deny=hikari.Permissions.NONE,
        reason="添加成员至私有文字频道"
    )

补充说明

你之前没找到对应方法,大概率是因为这两个操作分属不同模块:

  • 语音频道移动属于公会成员管理(对应文档里的guilds/members板块)
  • 私有文字频道权限修改属于频道权限管理(对应文档里的channels/permissions板块)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:25:53