server.get_channel() 返回 'NoneType' 对象没有属性 'send'

问题描述 投票:0回答:1

我正在尝试使用按钮进行嵌入,当您单击按钮时会创建一个频道,并且机器人会通过嵌入向您发送 DM,但我在尝试通过 bot.get_channel(channel_id) 获取频道时遇到错误

这是我的代码:

try:
    server = await bot.fetch_guild(server_id)
    channel = server.get_channel(channel_id)

    view = View()
except Exception as e:
    print(f"Error: {e}")
else:
    embed.set_author(name=server.name, icon_url=server.icon.url)

    await interaction.response.defer()
    await channel.send(embed=embed, view=view)

我也尝试使用调试它

print(channel)
print(channel.id)

输出:

None129
129xxxxxxxxxxxx6

OBS:我使用interaction.response.defer()作为命令,因为它是日志并且发送有延迟。

python discord.py
1个回答
0
投票

问题是您想要发送

Member
一个带有嵌入内容的 dm,如您所说,但在代码中,您试图对您的
server
的频道执行此操作。

如果你尝试这样的事情会有帮助:

await member.send(embed=embed, view=view)

如果这不起作用,则

Member
可能已禁用公共直接消息。

© www.soinside.com 2019 - 2024. All rights reserved.