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

如何使用Python调用Discord API发送代码格式消息?

如何用Python调用Discord API发送格式化代码块?

我懂你遇到的问题了——你试着分三次发送消息来拼接代码块,但Discord会把这三条消息当成独立内容,自然没法形成一个完整的代码块。其实解决方法很简单:把整个代码块的内容放在同一条消息里发送就行!

针对使用client.say的discord.py版本(v1.x)

你可以直接把完整的代码块字符串作为参数传给client.say,不用拆分发送:

async def example(ctx):
    # 用多行字符串包裹完整代码块
    code_content = """```python
print('Hello world!')
```"""
    await client.say(code_content)

或者更简洁的写法,直接拼接成单条字符串:

async def example(ctx):
    await client.say("```python\nprint('Hello world!')\n```")

针对新版discord.py(v2.x,推荐使用)

如果是较新的版本,client.say已经被弃用了,改用ctx.send(),写法类似:

async def example(ctx):
    await ctx.send("```python\nprint('Hello world!')\n```")

小技巧:动态生成代码块

如果你的代码内容是动态生成的,还可以用字符串格式化来插入内容:

async def send_code(ctx, code_snippet):
    # 动态插入代码到代码块中
    await ctx.send(f"```python\n{code_snippet}\n```")

为什么之前的写法不行?因为Discord的代码块格式要求```包裹的内容必须是单条消息的完整内容,分开发送的话每一段都是独立文本,不会被识别成一个连贯的代码块。把所有内容整合到一个字符串里一次性发送,就能正确触发Discord的代码格式渲染啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:39:37