0

如何让我的机器人通过命令赋予角色?没有人问这个问题,也没有人有答案,我搜索了一个多小时。我想要的是用户说“给我会员”,然后机器人给会员角色。这是代码:

import discord
import os
import random

client = discord.Client()

@client.event
async def on_ready():
    print ('logged in')

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if message.content == 'give me member':
        role = discord.utils.get(message.author.server.roles, id="863082485851750431")
        await bot.add_roles(message.author, role)
client.run('EnterToken')

我收到此错误:

Ignoring exception in on_message
Traceback (most recent call last):
  File "C:\Users\USER\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\USER\Desktop\Dbot2.py", line 19, in on_message
    role = discord.utils.get(message.author.server.roles, id="863082485851750431")
AttributeError: 'Member' object has no attribute 'server'

一旦你有答案,请给我代码我可以复制和粘贴(不包括令牌)

4

1 回答 1

1

server是一个旧方法,不再支持,并且bot.add_roles不正确,因为bot甚至没有定义而且它是旧的它应该是这样的。

您应该始终检查您使用的代码的日期

role = discord.utils.get(message.guild.roles, id=863082485851750431)
await message.author.add_roles(role)

文件:

于 2021-07-09T16:57:27.740 回答