[英]Discord.py how to add a role to a member
我有这个代码女巫检查某人何时“将@user发送到法庭”然后获取提到的人ID和“发送到法庭”但我也试图让它添加角色“法庭”但它确实有效这里的代码:
import discord
from discord.ext import commands
import ctx
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
if message.author == self.user:
return
messageContent = message.content
if len(messageContent) > 0:
if re.search("^send.*court$", messageContent):
user_id = message.mentions[0].id
await message.channel.send('sending to court!')
role = discord.utils.get(server.roles, name="court")
await client.add_roles(user_id, role)
client = MyClient()
client.run('TOKEN')
你也可以直接在len()
和re.search()
中使用message.content
(如果你以后不再需要它)
对于re.search()
你必须导入re
您没有变量server
,因此您无法在server.roles
中使用它,因为 python 无法从无到有获得服务器
(主要问题)不是client.add_roles
,而是member.add_roles
,您必须在其中使用Member object
修改:
import discord
from discord.ext import commands
import ctx
import re
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
if message.author == self.user:
return
if len(message.content) > 0:
if re.search("^send.*court$", message.content):
user = message.mentions[0]
await message.channel.send('sending to court!')
role = discord.utils.get(message.guild.roles, name="court")
await user.add_roles(role)
client = MyClient()
client.run('TOKEN')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.