python - AttributeError:“DiscordClient”对象没有属性“edit_role”
问题描述
我尝试使用discord.py在 Discord 服务器上更改角色颜色。但是运行后我得到了错误:
AttributeError: 'DiscordClient' object has no attribute 'edit_role'
代码:
import discord
import os
import asyncio
from dotenv import load_dotenv, find_dotenv
load_dotenv()
discord_token = os.environ['your_discord_bot_token']
class DiscordClient(discord.Client):
async def on_ready(self):
print("Login as")
print(self.user)
print("-------")
server = discord.utils.get(self.guilds)
print(server)
role = discord.utils.get(server.roles)
print(role)
await self.edit_role(server=server, role=role,
hoist=True, colour=discord.Colour(0xe91e63))
client = DiscordClient()
client.run(discord_token)
Bot 成功登录,打印server
并按role
预期进行。谷歌搜索并查看文档后找不到答案。我拥有编辑角色的所有权限(我在自己的服务器上测试了机器人)。这没有被弃用,在来自githubedit_role
的已关闭问题上,我也找不到任何有用的东西
解决方案
Client.edit_role
已从Role.edit
1.0 版本中删除并替换为(您可以使用 来检查您的版本print(discord.__version__)
)。
无论您使用什么资源都是过时的。您应该阅读迁移指南以了解所做的更改,如果您怀疑方法或协程已被移动,请搜索文档。
class DiscordClient(discord.Client):
async def on_ready(self):
print("Login as")
print(self.user)
print("-------")
server = discord.utils.get(self.guilds)
print(server)
role = discord.utils.get(server.roles)
print(role)
await role.edit(hoist=True, colour=discord.Colour(0xe91e63))
推荐阅读
- git - 在 Azure DevOps 中重用标签
- c# - C# EF Core QueryableExtensions.FirstOrDefaultAsync 奇怪的行为
- java - 如何获得与 sparkWebUi 相同的真实流程
- php - PHP 错误:在 Codeigniter 中只能通过引用传递变量
- database - 一个额外的列,用于解释同一行中的值何时更新
- python - 如何在 webdriver selenium google chrome 中找到没有 id、name 和 xpath 的元素
- python - 如何从源代码构建 MultiNEAT?
- java - FIX 市场数据、QuickFIX 还是其他?
- java - spring boot如何改变默认的classloader使用setContextClassLoader?
- blazor - 如何获取服务器端 Blazor 应用程序的基本 URL