Discord Bot-消息,Python之后赋予角色

时间:2019-04-13 10:03:04

标签: python discord discord.py

我正在尝试制作一个简单的不和谐机器人,该机器人在向用户赋予特定命令后会给用户一个角色

在命令!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'

非常感谢您抽出宝贵的时间阅读本文档,如果可以的话,也可以帮助我。谢谢

1 个答案:

答案 0 :(得分:1)

当您这样做:

role = discord.utils.get(server.roles, name="Beta")

您必须使用

message.guild.roles

代替:

server.roles

要访问角色列表,较新的不和谐版本使用公会代替服务器,以避免与语音服务器混淆。