如何通过我的Discord bot发送嵌入,用/ python?

时间:2017-07-01 14:36:59

标签: python embed discord discord.py

我一直在使用新的Discord bot。

我已经学到了一些东西,现在,我想让事情变得更加习惯。

我一直试图让机器人发送嵌入,而不是共同的消息。

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”的有效成员的错误。所有网站,给我看这个代码,我不知道任何其他方式发送嵌入。

4 个答案:

答案 0 :(得分:7)

为了让它发挥作用,我将send_message行更改为 await client.send_message(message.channel, embed=embed)

这是一个完整的示例代码,用于说明它是如何适合的:

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

我使用discord.py文档来帮助找到它。 http://discordpy.readthedocs.io/en/latest/api.html#discord.Client.send_message用于send_message的布局

http://discordpy.readthedocs.io/en/latest/api.html#embed了解API详细信息

答案 1 :(得分:4)

  

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

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

pip install --upgrade discord.py

答案 2 :(得分:1)

@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)

答案 3 :(得分:0)

当我放@client.event 时,把 @client.event 而不是 @bot.command() 怎么办?@bot.command() 不起作用,你可以输入

@client.event
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)