Skip to content

sendAudio

发送音频文件到指定聊天。支持直接上传文件或传入已有文件的 file_id。与 sendVoice 不同,sendAudio 用于发送音乐等音频文件,客户端会以音频播放器形式展示。

请求

POST /:token/sendAudio

文件上传时使用 multipart/form-data 编码。

参数

参数类型必填描述
chat_idInteger/String目标聊天的唯一标识符或用户名
audioString/File音频文件或已上传文件的 file_id
captionString音频说明文字
parse_modeString说明文字的解析模式,支持 HTMLMarkdown
durationInteger音频时长(秒)
reply_markupObject自定义键盘或内联键盘标记,JSON 序列化对象

响应

返回发送成功的 Message 对象。

json
{
  "ok": true,
  "result": {
    "message_id": 104,
    "from": {
      "id": 123456789,
      "is_bot": true,
      "first_name": "MyBot",
      "username": "my_bot"
    },
    "chat": {
      "id": 987654321,
      "first_name": "User",
      "username": "user123",
      "type": "private"
    },
    "date": 1700000000,
    "audio": {
      "file_id": "CQACAgIAAxkBAAI...",
      "file_unique_id": "AQADAgAT...",
      "duration": 180,
      "mime_type": "audio/mpeg",
      "file_size": 3145728
    },
    "caption": "这是一首歌曲"
  }
}

错误码

错误码描述
400请求参数错误,如文件格式不支持
401Token 无效或已过期
403Bot 无权向该聊天发送消息
404聊天不存在
413文件体积过大
500服务器内部错误

示例

通过文件上传发送音频

bash
curl -X POST "https://api.example.com/<token>/sendAudio" \
  -F "chat_id=987654321" \
  -F "audio=@/path/to/song.mp3" \
  -F "caption=这是一首歌曲" \
  -F "duration=180"

通过 file_id 发送音频

bash
curl -X POST "https://api.example.com/<token>/sendAudio" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": 987654321,
    "audio": "CQACAgIAAxkBAAI...",
    "caption": "转发一首歌曲"
  }'