我正在学习如何使用不和谐。py和我想制作一个bot特性,当我们加入特定的语音频道时,它会赋予角色,当用户离开频道时,它会删除相同的角色
@client.event
async def on_voice_state_update():
on\u voice\u state\u update
提供了之后和
之前的
参数,下面介绍了如何检查成员何时加入并离开语音频道
async def on_voice_state_update(member, before, after):
if before.channel is None and after.channel is not None:
# member joined a voice channel, add the roles here
elif before.channel is not None and after.channel is None:
# member left a voice channel, remove the roles here
要添加角色,首先需要获得
不一致。角色
对象,然后您可以执行成员。添加角色(角色)
role = member.guild.get_role(role_id)
await member.add_roles(role)
删除角色是一样的,但是
.remove_roles
await member.remove_roles(role)
编辑:
async def on_voice_state_update(member, before, after):
channel = before.channel or after.channel
if channel.id == some_id:
if before.channel is None and after.channel is not None:
# member joined a voice channel, add the roles here
elif before.channel is not None and after.channel is None:
# member left a voice channel, remove the roles here
参考:
语音状态更新
这是很新的。我一直在阅读readthedocs API参考资料以了解不和谐。这对我来说没什么意义。到目前为止我有 我们的目标是让机器人加入带有的用户加入的语音频道,但我在让机器人加入频道时遇到了麻烦。
我在互联网上搜索,当机器人被踢出一个语音频道时,我该怎么办?用“断开”按钮发送一条消息,如“机器人断开了语音频道的连接”,但我不知道如何在不一致的情况下获取这些信息。js我用播放列表编写了一个音乐机器人,但当我踢开vc的机器人时,我就做了!播放命令,它将音乐添加到队列中,而不加入频道。当机器人被踢开时,我想用“queue.delete(guild.id)”清除音乐队列。
我正在尝试让我的discord机器人连接到一个语音频道,目前如下所示: 基本上,当他们发送消息时,我希望它加入消息作者的语音频道“-skip”,然后我的机器人加入,在聊天中说-p scotland forever,然后离开。我收到一条错误消息,说“频道”未定义或“连接”未定义,我尝试了几种不同的方法,我想我只是没有导入插件或其他东西,这可能是我的问题,但我知道应该使用什么插件。任何帮助都将不胜感激
在index.hpp中,我创建了一个具有多个数据成员的类,如、等。我在类外部定义了一个构造函数。在program.cpp中,我创建了一个名为SAM的对象。当我试图编译它时,它显示错误。什么原因? Program.cpp index.hpp 错误信息
我试图向任何使用此机器人加入我的不和谐服务器的人发出欢迎消息,但当有人加入时,不会发生任何事情。我得到一个错误:引用错误:通道名称未定义在C:\用户\Vir\桌面\DiscBot\index.js:13: 71在Map.find(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\util\Collection.js:506: 11)在客户端。(C:\
我试图制作一个不和谐机器人,当被召唤时,它将加入作者所在的语音频道。 这是我所拥有的: 当我加入语音频道并键入命令时,我收到以下错误: