我正在尝试制作一个简单的不和谐机器人,该机器人在向用户赋予特定命令后会给用户一个角色
在命令!role上,用户应获得一个称为Beta的角色
我首先尝试过:
from discord_webhook import DiscordWebhook, DiscordEmbed
import discord
from discord.ext.commands import Bot
from discord.ext import commands
client = commands.Bot(command_prefix = "!")
Client = discord.Client()
@client.event
async def on_message(message):
member = message.author
if member.bot:
return
if message.attachments:
return
print(message.content)
print(str(message.author))
if "role" in message.content:
embed=discord.Embed(title="Giving role.", color=0x00ff40)
await message.channel.send(message.channel, embed=embed)
role = discord.utils.get(server.roles, name="Beta")
await client.add_roles(message.author, role)
client.run("BOT TOKEN")
但是我总是遇到以下问题:
AttributeError: 'list' object has no attribute 'roles'
非常感谢您抽出宝贵的时间阅读本文档,如果可以的话,也可以帮助我。谢谢
答案 0 :(得分:1)
当您这样做:
role = discord.utils.get(server.roles, name="Beta")
您必须使用
message.guild.roles
代替:
server.roles
要访问角色列表,较新的不和谐版本使用公会代替服务器,以避免与语音服务器混淆。