You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord嵌入系统如何通过聊天命令动态设置Embed的标题和描述

Discord.py 动态生成Embed消息实现方案

你可以通过拆分命令后的输入内容,用约定的分隔符区分标题和描述,实现不用改代码动态生成Embed的需求,修改后代码如下:

@client.event
async def on_message(message):
    # 忽略机器人自身消息,避免循环触发
    if message.author == client.user:
        return
    if message.content.startswith('!emsay'):
        # 提取命令前缀后的所有内容
        input_content = message.content.removeprefix('!emsay').strip()
        # 无参数时返回使用提示
        if not input_content:
            await message.channel.send('命令格式:`!emsay 自定义标题 | 自定义描述`')
            return
        # 按|分割一次,避免描述中出现|被截断
        content_parts = input_content.split('|', maxsplit=1)
        embed_title = content_parts[0].strip()
        embed_desc = content_parts[1].strip() if len(content_parts) == 2 else ''
        # 生成动态Embed
        embedVar = discord.Embed(title=embed_title, description=embed_desc, color=0x00ff00)
        await message.channel.send(embed=embedVar)
    # 若你使用了commands框架注册其他命令,请保留该行,否则可删除
    await client.process_commands(message)

使用说明

  • 示例1:发送!emsay 活动通知 | 本周六下午2点线下团建,地点公司一楼大厅,即可生成对应标题和描述的Embed消息
  • 示例2:如果不需要描述,直接发送!emsay 紧急公告,生成的Embed只会展示设置的标题
  • 如果标题或者描述中需要输入|符号,可以自行将代码中的分隔符替换为其他不常用的符号(比如///、#等)

内容的提问来源于stack exchange,提问作者kaiihannam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:48:03