如何让Discord机器人给我一个角色

-7 投票
1 回答
42 浏览
提问于 2025-04-14 16:03

我自己做了一个Discord机器人,它在服务器上拥有所有权限。我需要一个Python脚本来让它给我一个角色,但我其实不太知道怎么做。

1 个回答

1

你提到了Python,所以我猜你是在用discord.py这个库。不过在提问的时候,最好说明一下你用的是什么库,并附上一些代码。

这里有几种选择。

  1. 使用 on_message 事件:你可以通过监听on_message事件来实现这个功能,检查消息内容是否符合特定的指令(比如“给我管理员权限”)。下面是一个示例:
import discord
from discord.utils import get

client = discord.Client()

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content == 'give me admin':
        role = get(message.guild.roles, name='Admin')
        await message.author.add_roles(role)

# Replace 'your_bot_token' with your actual bot token
client.run('your_bot_token')
  1. 使用 discord.ext.commands 扩展:另一种方法是使用discord.ext.commands这个扩展,它提供了一种更简洁的方式来处理指令。下面是一个示例:
from discord.ext import commands
import discord

bot = commands.Bot(command_prefix='!')

@bot.command()
async def addrole(ctx, role: discord.Role, member: discord.Member = None):
    member = member or ctx.message.author
    await member.add_roles(role)
    await ctx.send(f"{member.mention} has been given the {role.name} role.")

# Replace 'your_bot_token' with your actual bot token
bot.run('your_bot_token')

我建议你查看一下discord.py库的文档,链接在这里:discordpy.readthedocs.io

撰写回答