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

如何用discord.py实现彩色气球样式的机器人消息?

Discord.py 实现彩色气球样式消息

问题说明

你希望让discord.py机器人发送类似气球样式的彩色框消息,尝试用Pillow制作但环境不支持该库,当前代码无法实现预期效果。

解决方案

Discord的代码块不支持直接指定颜色名渲染彩色框,想要实现类似气泡的样式,推荐使用**Discord嵌入(Embed)**来模拟——既不需要额外库,也能实现带彩色侧边栏的气泡效果,同时可用特殊字符构建气泡边框。

实现代码

@bot.command(name='balloon')
async def create_balloon(ctx, color, *, text):
    color = color.lower()
    # 映射颜色名到Discord Embed支持的十六进制颜色码
    color_map = {
        'red': 0xFF0000,
        'blue': 0x0000FF,
        'green': 0x00FF00,
        'yellow': 0xFFFF00,
        'purple': 0x800080,
        'orange': 0xFFA500,
        'pink': 0xFFC0CB
    }
    
    # 检查颜色是否合法
    if color not in color_map:
        await ctx.send("无效颜色,请选择:red、blue、green、yellow、purple、orange、pink")
        return
    
    # 用特殊字符构建气泡样式的内容
    balloon_content = f"""╭───────────────────────────╮
│ {text.replace('\n', '\n│ ')} │
╰───────────────────────────╯"""
    
    # 创建嵌入消息
    embed = discord.Embed(description=balloon_content, color=color_map[color])
    await ctx.send(embed=embed)

效果说明

  • 侧边栏会显示你指定的对应颜色
  • 内容区域用特殊字符围成气泡形状,文本自动适配换行
  • 无需依赖Pillow库,纯Discord原生功能实现

补充说明

如果想要更贴近参考图的气泡样式,可以调整特殊字符的组合,比如用┌、─、┐、│、└、┘这些字符,让边框更规整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:40:05