如何解决有没有办法让服务器所有者而不是 discord.py 的机器人创建者选择机器人将自动分配给加入的新成员的角色?
与此类似,但允许任何服务器所有者决定自动分配什么角色,而不是由谁制作机器人。
@client.event
async def on_member_join(member):
default_role = discord.utils.get(member.guild.roles,id=DEFAULT_ROLE_ID)
await member.add_roles(default_role)
解决方法
DEFAULT_ROLE_IDs = []
@client.event
async def on_member_join(member):
default_role = discord.utils.get(member.guild.roles,id=DEFAULT_ROLE_ID)
await member.add_roles(default_role)
@client.command()
@client.has_permissions(administrator=True)
async def default(ctx,roleID: int):
found = False
stored_i = None
for i in DEFAULT_ROLE_IDs:
if i[0] == ctx.guild.id:
i[1] = roleID
break
if not found:
DEFAULT_ROLE_IDs.append([ctx.guild.id,roleID])
根据我从您的问题中了解到的,最好的方法是创建一个新命令,允许任何服务器管理员设置默认角色。
您可以尝试添加一个类似上面的命令,它允许管理员通过 discord 中的命令设置默认角色。这依赖于 DEFAULT_ROLE_ID
变量的使用。如果您想将 ID 存储在其他地方,请随意使用数据库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。