如何解决在discord.py中设置每个人的昵称时遇到问题
import discord
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith(":?glizzyonmymind"):
try:
members = message.guild.members
print("Got the members")
for member in members:
await member.edit(nick="New nick")
print(f"Set {member.id} nick")
except Exception as error:
return error
client.run(token)
我正在尝试进行测试,并在服务器中设置每个人的昵称(可以)。当我将漫游器角色放在所有其他角色之上时,它可以正常工作,但是当它甚至是第二高的角色(具有管理员权限)时,则无法正常工作。我要这样做,以便它设置可能的人员的昵称(或它下面的角色。)谢谢!
解决方法
您可以使用top_role
属性。
@client.event
async def on_message(message):
if message.content.startswith(":?glizzyonmymind"):
for members in message.guild.members:
print("Got the members")
if members.top_role < message.author.top_role:
await members.edit(nick="test")
print(f"Set {members.id} nick")
else:
print("Can't edit roles above me")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。