提问者:小点点

如何通过Discord bot(带python)发送嵌入?


我一直在研究一个新的不和谐机器人。

我学到了一些东西,现在,我想把这些东西做得更个性化一些。

我一直试图让机器人发送嵌入,而不是普通的信息。

embed=discord.Embed(title="Tile", description="Desc", color=0x00ff00)
embed.add_field(name="Fiel1", value="hi", inline=False)
embed.add_field(name="Field2", value="hi2", inline=False)
await self.bot.say(embed=embed)

执行此代码时,我得到一个错误,即“嵌入”不是模块“discord”的有效成员。所有的网站,给我看这个代码,我不知道还有什么其他的方式来发送嵌入。


共3个答案

匿名用户

为了让它工作,我把你的发送信息改为等待信息。频道发送(嵌入=嵌入)

下面是一个完整的代码示例,展示了它是如何适应的:

@client.event
async def on_message(message):
    if message.content.startswith('!hello'):
        embedVar = discord.Embed(title="Title", description="Desc", color=0x00ff00)
        embedVar.add_field(name="Field1", value="hi", inline=False)
        embedVar.add_field(name="Field2", value="hi2", inline=False)
        await message.channel.send(embed=embedVar)

我用了不和谐。用py文档来帮助查找这个。https://discordpy.readthedocs.io/en/latest/api.html#discord.TextChannel.send用于发送方法的布局。

https://discordpy.readthedocs.io/en/latest/api.html#embed对于嵌入类。

1.0版之前:如果您使用的是1.0版之前的版本,请使用方法wait client。改为发送消息(message.channel,embed=embed)

匿名用户

执行此代码时,我得到一个错误,即“嵌入”不是模块“discord”的有效成员。所有的网站,给我看这个代码,我不知道还有什么其他的方式来发送嵌入。

这意味着你过时了。使用pip更新库的版本。

pip install --upgrade discord.py

匿名用户

@bot.command()
async def displayembed(ctx):
    embed = discord.Embed(title="Your title here", description="Your desc here") #,color=Hex code
    embed.add_field(name="Name", value="you can make as much as fields you like to")
    embed.set_footer(name="footer") #if you like to
    await ctx.send(embed=embed)