Discord py 附件

Discord py Attachments

我正在创建一个机器人,用于在 mysql 中创建不和谐公会的备份。 (基本上它允许我制作一个网站,它是不和谐频道的扩展。) 我将下载附件并将其保存在 (guild,channel,user) 文件夹路径中,以便我可以在网站上查询它们。 此外,我将通过检查最近 24 小时、上周等谁是活跃用户来清除非活跃用户。

无论如何,我正在尝试使用以下脚本检查邮件是否有附件,

@client.event
def on_message(message):
    msg = str(message.content)
    channel = str(message.channel)
    guild = str(message.guild)
    author=str(message.author)
    if checkfordb(guild) == 1:
        if checkfortable(channel,guild) == 1:
            addmsg(channel,guild,msg,author)
        else:
            createtb(channel,guild)
            addmsg(channel,guild,msg,author)
    else:
        createdb(guild)
        createtb(channel,guild)
        addmsg(channel,guild,msg,author)
    if message.Attachment.size > 0:
        print("There is an attachment")
    else:
        print("There is no attachment")

问题是,当我 运行 这个脚本时,我得到以下错误,

Ignoring exception in on_message
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/discord/client.py", line 312, in _run_event
    await coro(*args, **kwargs)
  File "bot2.py", line 145, in on_message
    if message.Attachment.size > 0:
AttributeError: 'Message' object has no attribute 'Attachment'

所以我检查了文档,尽管有很多人说他们正在使用它,但确实没有消息的附件属性。附件下的文档说你可以使用class discord.attachment。因此,我查看了 classes,发现无法在发布附件时将其拉出。有没有人对如何做到这一点有任何想法?

感谢任何帮助。

正确的属性名称是 Message.attachments as Patrick Haugh suggested. You could use the len() function on that to get the "size" of it since it's just a normal python list of discord.Attachment 个对象。

if message.attachments: 就这么简单!