Discord.py 在不使用添加字段的情况下发送嵌入
Discord.py sending an embed without the use of add fields
我正在尝试从用户那里获取消息,然后将其发送到特定的文本频道。该消息应嵌入。但我不喜欢你有一堆字段时的样子,我希望 discord.Embed()
中的描述包含文本内容。但它给了我一个错误
TypeError: Object of type Message is not JSON serializable
这是我的代码:
class Changelog(commands.Cog):
def __init__(self, client):
self.client = client
@commands.Cog.listener()
async def on_ready(self):
print('Changelog is loaded')
@commands.command()
async def changelog(self, ctx):
changelog_channel = self.client.get_channel(759547196433104956)
await ctx.send("`Message: `")
message = await self.client.wait_for('message', check=lambda message: message.author == ctx.author, timeout=300)
embed = discord.Embed(title="Changelog", description=message, color=0)
await changelog_channel.send(embed=embed)
def setup(client):
client.add_cog(Changelog(client))
你没有收到这个错误是因为你没有添加字段,而是因为你试图在描述中放置一个 message
实例,而你应该放置该消息的 content
在那里。描述只能取strings
作为它的值。
embed = discord.Embed(title="Changelog", description=message.content, color=0)
wait_for("message")
returns 一个 discord.Message
实例。 Message
包含该消息的内容、ID、作者、频道以及更多内容。如果只想获取用户发送的文本,则需要 content
属性。
有关 Message
可以做什么的更多信息,请参见 API docs。
我正在尝试从用户那里获取消息,然后将其发送到特定的文本频道。该消息应嵌入。但我不喜欢你有一堆字段时的样子,我希望 discord.Embed()
中的描述包含文本内容。但它给了我一个错误
TypeError: Object of type Message is not JSON serializable
这是我的代码:
class Changelog(commands.Cog):
def __init__(self, client):
self.client = client
@commands.Cog.listener()
async def on_ready(self):
print('Changelog is loaded')
@commands.command()
async def changelog(self, ctx):
changelog_channel = self.client.get_channel(759547196433104956)
await ctx.send("`Message: `")
message = await self.client.wait_for('message', check=lambda message: message.author == ctx.author, timeout=300)
embed = discord.Embed(title="Changelog", description=message, color=0)
await changelog_channel.send(embed=embed)
def setup(client):
client.add_cog(Changelog(client))
你没有收到这个错误是因为你没有添加字段,而是因为你试图在描述中放置一个 message
实例,而你应该放置该消息的 content
在那里。描述只能取strings
作为它的值。
embed = discord.Embed(title="Changelog", description=message.content, color=0)
wait_for("message")
returns 一个 discord.Message
实例。 Message
包含该消息的内容、ID、作者、频道以及更多内容。如果只想获取用户发送的文本,则需要 content
属性。
有关 Message
可以做什么的更多信息,请参见 API docs。