python - Discord Bot - 在消息后赋予角色,Python
问题描述
我正在尝试制作一个简单的不和谐机器人,在用户向机器人发出特定命令后赋予用户角色
在命令 !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'
非常感谢您花时间阅读本文,如果您能帮助我。谢谢
解决方案
当你这样做时:
role = discord.utils.get(server.roles, name="Beta")
你必须使用
message.guild.roles
代替:
server.roles
要访问角色列表,较新的不和谐版本使用公会而不是服务器以避免与语音服务器混淆。
推荐阅读
- java - 用线程读取Java中的图像
- uipath - UiPath 无法点击 Chrome 检查功能“辅助功能检查器”
- r - 向量根据R中的给定条件填充真或假,没有循环
- django - 用于用户上传/下载的 Django Nginx 媒体文件夹
- ruby-on-rails - ModelController#create 中的 ActionController::UrlGenerationError
- sql - 在 SQL 递归查询中,“cte”的列“parent_id”被指定了不止一次”
- css - 在Vue中更改页面时如何删除样式表
- python - 如何让python discord bot每分钟使用一个命令
- recursion - 如何递归地将整数转换为 SML 中的字符串?
- python - 2017 青铜 USACO 问题 1 运行时错误 python