如果您不想使用discord.ext.commands,但想向某人添加角色,您可以通过discord.py库中的其他功能来实现。下面是一种实现方式:
import discord
from discord.utils import get
client = discord.Client()
TOKEN = "您的Bot令牌"
client.run(TOKEN)
@client.event
async def on_message(message):
if message.content.startswith("!添加角色"):
# 获取目标用户
target_user = message.mentions[0]
# 获取服务器
server = message.guild
# 获取要添加的角色
role_name = "您的角色名称"
role = get(server.roles, name=role_name)
if role is not None:
# 将角色添加给目标用户
await target_user.add_roles(role)
await message.channel.send(f"成功将角色 {role_name} 添加给 {target_user.name}!")
else:
await message.channel.send(f"找不到角色 {role_name}!")
以上代码中,我们使用on_message
事件监听消息,当接收到以"!添加角色"开头的消息时,我们提取了被提及的用户,并使用get
方法通过角色名称获取到了要添加的角色对象。然后,我们使用add_roles
方法将角色添加给目标用户。
请将"您的Bot令牌"替换为您的实际Bot令牌,"您的角色名称"替换为您要添加的角色名称。
这是一种向特定用户添加角色的方法,您可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云