Python 使bot输出嵌入(discord.py)

Python 使bot输出嵌入(discord.py),python,discord.py,Python,Discord.py,所以我制作了一个discord机器人,我编写了一个SAY命令,输出你所说的任何内容 import discord from discord.ext import commands @client.command() async def say(ctx, *, message): await ctx.message.delete() # Deletes last command await ctx.send(f"{message}" .format(mes

所以我制作了一个discord机器人,我编写了一个SAY命令,输出你所说的任何内容

import discord
from discord.ext import commands

@client.command()
async def say(ctx, *, message):
     await ctx.message.delete() # Deletes last command
     await ctx.send(f"{message}" .format(message)) # Send text from command
命令。说出文本
这将以消息的形式从bot输出文本,而不是作为普通消息,我需要这是一个嵌入

您需要明确告诉您的bot使用嵌入,默认情况下,它将始终发送常规消息。类似于下面的内容将输出嵌入而不是文本消息

@client.command()
异步定义(ctx,*,消息):
等待ctx.message.delete()#删除最后一个命令
等待ctx.send(嵌入=不协调。嵌入(描述=消息))

有关嵌入样式选项(例如颜色、作者信息等)的详细信息,请查看。

您应该创建一个discord.embed实例,并在发送函数中将其作为嵌入参数传递。而f-strings已经设置了字符串的格式。如果在引号前添加一个f,则不需要像这样使用
.format()

@client.command()
异步定义(ctx,*,消息):
等待ctx.message.delete()#删除最后一个命令
myEmbed=discord.Embed(description=f“{message}”)
等待ctx.send(嵌入=myEmbed)
嵌入不仅限于说明,还可以添加标题、字段、页脚、图像、缩略图等。

如果您想了解嵌入的潜力,可以查看discord.py docs about。

message
是一个字符串,而不是
message
实例,因此与其
description=message.content
相反,它应该是
description=message
很好的捕获,太习惯于discord.py对象接收到的输出discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError:模块“discord”没有您用小写电子字母编写的属性“嵌入”
embed
。你必须像我上面写的那样,用大写字母写第一个字母。