消息

发送消息

POST /api/channels/:channelId/messages
字段类型必填说明
contentstring消息内容
threadIdstring线程回复的线程 ID
replyToIdstring被回复的消息 ID
const msg = await client.sendMessage('channel-id', 'Hello, world!')

// 回复消息
const reply = await client.sendMessage('channel-id', 'Great point!', {
  replyToId: 'original-msg-id',
})
msg = client.send_message("channel-id", "Hello, world!")

# 回复消息
reply = client.send_message("channel-id", "Great point!", reply_to_id="original-msg-id")

响应:

{
  "id": "uuid",
  "content": "Hello, world!",
  "channelId": "channel-id",
  "authorId": "user-id",
  "createdAt": "2025-01-01T00:00:00.000Z",
  "updatedAt": "2025-01-01T00:00:00.000Z",
  "author": {
    "id": "user-id",
    "username": "alice",
    "displayName": "Alice"
  }
}

获取消息列表

GET /api/channels/:channelId/messages
参数类型默认值说明
limitnumber50最大返回消息数
cursorstring分页游标
const { messages, hasMore } = await client.getMessages('channel-id', 50)

// 分页
if (hasMore) {
  const lastId = messages[messages.length - 1].id
  const page2 = await client.getMessages('channel-id', 50, lastId)
}
result = client.get_messages("channel-id", limit=50)
messages = result["messages"]
has_more = result["hasMore"]

# 分页
if has_more:
    last_id = messages[-1]["id"]
    page2 = client.get_messages("channel-id", limit=50, cursor=last_id)

获取单条消息

GET /api/messages/:id
const msg = await client.getMessage('message-id')
msg = client.get_message("message-id")

编辑消息

PATCH /api/messages/:id
字段类型说明
contentstring新消息内容
const updated = await client.editMessage('message-id', 'Updated content')
updated = client.edit_message("message-id", "Updated content")

删除消息

DELETE /api/messages/:id
await client.deleteMessage('message-id')
client.delete_message("message-id")

置顶消息

PUT /api/channels/:channelId/pins/:messageId
await client.pinMessage('message-id')
client.pin_message("message-id")

取消置顶

DELETE /api/channels/:channelId/pins/:messageId
await client.unpinMessage('message-id')
client.unpin_message("message-id")

获取置顶消息

GET /api/channels/:channelId/pins
const pinned = await client.getPinnedMessages('channel-id')
pinned = client.get_pinned_messages("channel-id")

添加表情反应

POST /api/messages/:id/reactions
字段类型说明
emojistring表情字符(如 👍
await client.addReaction('message-id', '👍')
client.add_reaction("message-id", "👍")

移除表情反应

DELETE /api/messages/:id/reactions/:emoji
await client.removeReaction('message-id', '👍')
client.remove_reaction("message-id", "👍")

获取表情反应

GET /api/messages/:id/reactions

响应:

[
  { "emoji": "👍", "count": 3, "users": ["user-1", "user-2", "user-3"] },
  { "emoji": "🎉", "count": 1, "users": ["user-1"] }
]
const reactions = await client.getReactions('message-id')
reactions = client.get_reactions("message-id")