提问者:小点点

不和谐机器人角色


我正在为我的服务器制作一个简单的Discord机器人,因为一个机器人的一部分不工作。但是,该机器人需要标记来自一个角色的人(假设该角色是“主持人”)。我想让它标记每个人的版主角色,这将像@版主。以下是我的代码(我使用的是Python 3.6):

if message.content.startswith('!startbot'):
    msg = '@Moderator, (some message after this)'.format(message)

但是,“@版主”实际上并没有标记版主角色中的任何人。和其他信息一样,它只是空白文本。但是,当我从Discord服务器输入@版主时,它会显示红色(我设置了红色)并标记版主。

有人能帮我解决这件事吗?


共3个答案

匿名用户

Discord中的角色提及是这样触发的:

<@&ROLE_ID>

其中ROLE_ID是您试图提及的角色的ID。获取审查员角色的ID,并相应地将其添加到字符串中,机器人将像从不和谐客户端中一样提及该角色。

此方法也适用于Webhook。

匿名用户

在embeds中提及需要特殊格式。最简单的方法是查阅下表:

匿名用户

假设您正在使用当前稳定版本的discord.py

每个留档中,角色对象有一个名为say的方法。所以你需要做的就是

msg = '{} ...'.format(role.mention) 

要获取角色对象,您可能需要迭代服务器的可用角色,并找到您要查找的角色对象