discord.py 加入消息嵌入未发送

Posted

技术标签:

【中文标题】discord.py 加入消息嵌入未发送【英文标题】:discord.py join message embed not getting sent 【发布时间】:2021-02-13 19:27:37 【问题描述】:

我只是想为加入服务器的新成员编写欢迎消息。我想在每次有新成员加入时发送一个嵌入。但是,嵌入没有被发送。有人可以帮帮我吗?

这是我的代码:

async def on_member_join(member):
    mention = member.mention
    guild = member.guild
    embed = discord.Embed(title="**New Member Joined!**", description=f"mention joined guild!", color = discord.Colour.purple())
    embed.set_thumbnail(url=f"member.avatar.url")
    channel = discord.utils.get(member.guild.channels, id=Channel_ID)
    await channel.send(embed=embed)

谢谢!

【问题讨论】:

【参考方案1】:

在新版本的discord.py(1.5.x)中,有一些关于Intents的更新。 Intents类似于权限,你必须定义Intents来获取频道、成员和一些事件等。你必须在定义client = discord.Bot(prefix='')之前定义它。

import discord

intents = discord.Intents().all()
client = discord.Bot(prefix='', intents=intents)

此外,您必须在 Discord Developer Portal 中从您的机器人应用程序激活 Intent。

如果你想获取更多关于 Intents 的信息,可以查看API References。

【讨论】:

以上是关于discord.py 加入消息嵌入未发送的主要内容,如果未能解决你的问题,请参考以下文章

discord.Embed 不被视为嵌入 discord.py

Discord.py 嵌入未发送

如何使用 discord.py 获取消息

使用 Discord.py,有没有办法读取嵌入的消息?

Discord.py 如何从不和谐消息中读取 int 并将其作为变量发送到嵌入中

Discord.py:根据消息得到的反应来编辑机器人发送的消息