Skip to main content

send_msg

Send a message to a private chat or group.

Request

message_type
string
Message type: private or group
user_id
string
User QQ number (for private messages)
group_id
string
Group number (for group messages)
message
string | object | array
required
Message content (supports CQ code string, message segment, or array)
auto_escape
boolean | string
default:"false"
Send as plain text (disable CQ code parsing)

Forward Message Extensions

source
string
Forward message source name
news
array
Forward message news items (array of {text: string})
summary
string
Forward message summary text
prompt
string
Forward message prompt text

Response

message_id
number
Sent message ID
res_id
string
Resource ID for forwarded messages
forward_id
string
Forward ID (alias for res_id, go-cqhttp compatibility)

Example

// Request
{
  "message_type": "group",
  "group_id": "123456",
  "message": [
    { "type": "text", "data": { "text": "Hello " } },
    { "type": "at", "data": { "qq": "987654" } }
  ]
}

// Response
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "message_id": 12345678
  }
}

send_private_msg

Send a private message to a user.

Request

user_id
string
required
User QQ number
group_id
string
Group number (for temporary chats from group)
message
string | object | array
required
Message content
auto_escape
boolean | string
default:"false"
Send as plain text

Response

message_id
number
Sent message ID

Example

// Request
{
  "user_id": "123456",
  "message": "Hello!"
}

// Response
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "message_id": 12345678
  }
}

send_group_msg

Send a message to a group.

Request

group_id
string
required
Group number
message
string | object | array
required
Message content
auto_escape
boolean | string
default:"false"
Send as plain text

Response

message_id
number
Sent message ID

Example

// Request
{
  "group_id": "123456",
  "message": "Hello group!"
}

// Response
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "message_id": 12345678
  }
}

delete_msg

Recall a sent message.

Request

message_id
number | string
required
Message ID to recall

Response

result
null
Returns null on success

Example

// Request
{
  "message_id": 12345678
}

// Response
{
  "status": "ok",
  "retcode": 0,
  "data": null
}

get_msg

Get message details by message ID.

Request

message_id
number | string
required
Message ID to retrieve

Response

time
number
Message send time (Unix timestamp)
message_type
string
Message type: private or group
message_id
number
Message ID
real_id
number
Real message ID
message_seq
number
Message sequence number
sender
object
Sender information
message
array
Message content (array format)
raw_message
string
Raw message text
font
number
Font size
group_id
number | string
Group number (if group message)
user_id
number | string
Sender QQ number
emoji_likes_list
array
Emoji reactions list

Example

// Request
{
  "message_id": 12345678
}

// Response
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "time": 1234567890,
    "message_type": "group",
    "message_id": 12345678,
    "real_id": 12345678,
    "message_seq": 12345678,
    "sender": {
      "user_id": 123456,
      "nickname": "User",
      "card": "Card Name"
    },
    "message": [
      { "type": "text", "data": { "text": "Hello" } }
    ],
    "raw_message": "Hello",
    "font": 0,
    "group_id": 654321,
    "user_id": 123456,
    "emoji_likes_list": []
  }
}

get_forward_msg

Get the content of a forwarded message.

Request

message_id
string
Message ID (numeric)
id
string
Message ID or resource ID (alternative parameter)

Response

messages
array
Array of forwarded message nodes

Example

// Request
{
  "message_id": "12345678"
}

// Response
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "messages": [
      {
        "type": "node",
        "data": {
          "user_id": 123456,
          "nickname": "User1",
          "message": [
            { "type": "text", "data": { "text": "Message 1" } }
          ]
        }
      },
      {
        "type": "node",
        "data": {
          "user_id": 789012,
          "nickname": "User2",
          "message": [
            { "type": "text", "data": { "text": "Message 2" } }
          ]
        }
      }
    ]
  }
}

Forward Messages

To send forward messages, use the send_msg action with node-type message segments:
{
  "message_type": "group",
  "group_id": "123456",
  "message": [
    {
      "type": "node",
      "data": {
        "user_id": "123456",
        "nickname": "User1",
        "content": [
          { "type": "text", "data": { "text": "Message 1" } }
        ]
      }
    },
    {
      "type": "node",
      "data": {
        "user_id": "789012",
        "nickname": "User2",
        "content": [
          { "type": "text", "data": { "text": "Message 2" } }
        ]
      }
    }
  ],
  "source": "Chat History",
  "summary": "2 messages",
  "prompt": "[Chat History]"
}
Forward messages must contain only node type segments. You cannot mix node segments with other message types.

Additional Message Actions

set_msg_emoji_like

Add an emoji reaction to a message.
message_id
string
required
Message ID
emoji_id
string
required
Emoji ID to react with

mark_msg_as_read

Mark messages as read (go-cqhttp extension).
message_id
number | string
required
Message ID to mark as read

Build docs developers (and LLMs) love