我有这个 python 机器人,当用户试图存储一些东西时,作者姓名和鉴别符(’#’)也会被存储
return "**Hello** **" + message.author.name + "#" + message.author.discriminator + "** ** :wave: "
所以我的问题是当他们删除鉴别器并应用新的用户名系统时,我如何在我的机器人中更改它存储用户名?我还需要升级我的 discord python 包吗?他们会添加这样的东西吗? message.author.username 因为当我现在尝试打电话时,message.author.username我得到了这个
message.author.username
'User' object has no attribute 'username`
Discord.py 包将在 discord 应用用户名系统后的某个时间更新。
目前,您不能使用新系统,因为 Discord.py 的开发人员需要在实施更改之前了解新系统的工作原理。
至于你的问题:
当最终出现更新时,您将必须更新 Discord.py 包,否则您将无法使用更新后的方法。我们也不知道如何执行存储用户名,但message.author.username似乎可以很好地猜测该方法是什么样的
根据您提供的代码和错误消息,我可以看出您正在使用 Discord.py 库来构建您的机器人。问题在于,您尝试访问 message.author.username 属性,但该属性实际上不存在。
在 Discord.py v1.7.0 版本之前,message.author 对象的属性包括 name、discriminator 和 id,但没有直接的 username 属性。如果您的库版本早于 1.7.0,您需要升级到最新版本以访问 message.author.name 属性。
message.author
name
discriminator
id
username
message.author.name
在 Discord.py v1.7.0 版本及更高版本中,message.author 对象的属性已更改,name 属性用于存储用户名,而不需要使用 message.author.name + "#" + message.author.discriminator 的组合。因此,您可以简单地使用 message.author.name 获取用户名。
message.author.name + "#" + message.author.discriminator
要解决此问题,请执行以下操作:
pip install -U discord.py
return "**Hello** **" + message.author.name + "** ** :wave: "
通过这些更改,您将能够正确地访问和存储用户的用户名而无需进行额外的处理。请确保查看 Discord.py 的官方文档以获取更多关于版本更新和属性访问的详细信息。