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