gpt4 book ai didi

python - 我试图为我的不和谐服务器创建一个解禁命令,但它没有分割名称和鉴别器。有人可以提供任何提示吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:44:23 25 4
gpt4 key购买 nike

Python 说“ValueError:没有足够的值来解压(预期 2,得到 1)”,指的是第 4 行代码。我搜索了教程,因为我是 Discord.py 的新手,但它们似乎都没有帮助。

我尝试过在不拆分名称和标识符的情况下取消禁止用户,但我也无法使其正常工作。

@client.command()
async def unban(ctx, *, member):
banned_users = await ctx.guild.bans()
member_name, member_discriminator = member.split('#')
for ban_entry in banned_users:
user = ban_entry.user
if (user.name, user.discriminator) == (member_name, member_discriminator):
await ctx.guild.unban(user)
await ctx.send(f'Unbanned {user.mention}')
return

最佳答案

你为什么要试图分割它们?将 user 转换为 discord.User 会更有意义。对象,然后取消禁止该用户(这不能是 discord.Member 对象,因为该用户不再是公会成员)。

@client.command()
async def unban(ctx, *, user=None):

try:
user = await commands.converter.UserConverter().convert(ctx, user)
except:
await ctx.send("Error: user could not be found!")
return

try:
bans = tuple(ban_entry.user for ban_entry in await ctx.guild.bans())
if user in bans:
await ctx.guild.unban(user, reason="Responsible moderator: "+ str(ctx.author))
else:
await ctx.send("User not banned!")
return

except discord.Forbidden:
await ctx.send("I do not have permission to unban!")
return

except:
await ctx.send("Unbanning failed!")
return

await ctx.send(f"Successfully unbanned {user.mention}!")

这样做的优点是您可以指定 ID、提及、名称或名称+discrim。

关于python - 我试图为我的不和谐服务器创建一个解禁命令,但它没有分割名称和鉴别器。有人可以提供任何提示吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56691976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com