【问题标题】:Discord.py How can get attachment in message.contentDiscord.py 如何在 message.content 中获取附件
【发布时间】:2021-06-06 18:06:18
【问题描述】:

我正在尝试制作一个机器人。这是一个存档机器人。如果某些消息获得了一些表情符号和一些数量,则它将消息移动到用户选择的特定频道。我有一个问题:它运行良好,但没有在 message.content 中获取附件。只是得到字符串,而不是附件。我该如何解决这个问题?

这是我的代码:

@Bot.event
async def on_raw_reaction_add(payload):
    user = Bot.get_user(payload.user_id)
    guild = Bot.get_guild(payload.guild_id)
    channel =
guild.get_channel(payload.channel_id)
    message = await channel.fetch_message(payload.message_id)

#some files is opening in these lines...


    if #some check points..
            else:
              await guild.get_channel(to_list[sıra]).send("Written by {} :\n\n {}".format(message.author.mention,message.content))

              await guild.get_channel(from_list[sıra]).send("{} your message move to this channel --> {}".format(message.author.mention,Bot.get_channel(to_list[sıra]).mention))
              await message.add_reaction("✔️")
            

如何在 on_raw_reaction_add 函数中获取 message.content 中的附件?

【问题讨论】:

    标签: python python-3.x discord.py attachment


    【解决方案1】:

    尝试在send() 方法中使用files。示例:

    await channel.send(
        message.content, files=[await f.to_file() for f in message.attachments]
    )
    

    在你的情况下,它可能看起来像这样:

    await guild.get_channel(to_list[sıra]).send(
        "Written by {} :\n\n {}".format(message.author.mention, message.content),
        files=[await f.to_file() for f in message.attachments],
    )
    

    参考:

    【讨论】:

    • 对不起,我没听懂。你能把这个放在我的代码上吗?以你为例。
    • 但我使用的是有效载荷而不是 ctx。会是“payload.message.attachments”吗?
    • 不,你在这个message = await channel.fetch_message(payload.message_id) 中定义了message,它只是message.attachments(如果我理解你的意思)
    猜你喜欢
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2020-10-12
    • 2021-01-13
    相关资源
    最近更新 更多