Servers
Create a server
| Field | Type | Required | Description |
|---|
name | string | Yes | Server name |
slug | string | No | URL-friendly slug |
description | string | No | Server description |
isPublic | boolean | No | Whether the server is discoverable |
const server = await client.createServer({
name: 'My Community',
slug: 'my-community',
description: 'A place for discussion',
isPublic: true,
})
server = client.create_server(
name="My Community",
slug="my-community",
description="A place for discussion",
is_public=True,
)
List user's servers
Returns all servers the current user is a member of.
const servers = await client.listServers()
servers = client.list_servers()
Get server
Accepts either a UUID or a slug.
const server = await client.getServer('server-id-or-slug')
server = client.get_server("server-id-or-slug")
Update server
| Field | Type | Description |
|---|
name | string | Server name |
description | string | null | Description |
slug | string | null | URL slug |
homepageHtml | string | null | Custom homepage HTML |
isPublic | boolean | Public visibility |
const updated = await client.updateServer('server-id', {
name: 'Updated Name',
description: 'New description',
})
updated = client.update_server("server-id", name="Updated Name", description="New description")
Delete server
await client.deleteServer('server-id')
client.delete_server("server-id")
Discover public servers
GET /api/servers/discover
No authentication required. Returns a list of public servers.
const servers = await client.discoverServers()
servers = client.discover_servers()
Get server by invite code
GET /api/servers/invite/:code
No authentication required.
const server = await client.getServerByInvite('ABC123')
server = client.get_server_by_invite("ABC123")
Join server
POST /api/servers/:id/join
| Field | Type | Required | Description |
|---|
inviteCode | string | No | Required for private servers |
await client.joinServer('server-id', 'invite-code')
client.join_server("server-id", invite_code="invite-code")
Leave server
POST /api/servers/:id/leave
await client.leaveServer('server-id')
client.leave_server("server-id")
Get members
GET /api/servers/:id/members
| Field | Type | Description |
|---|
uid | string | User UID(映射到 user.id) |
nickname | string | Nickname (displayName 优先,否则 username) |
avatar | string? | Avatar URL |
status | string | online / idle / dnd / offline |
membershipTier | string | 账户会员等级(visitor / member) |
membershipLevel | number | 会员等级数值 |
isMember | boolean | 是否会员 |
totalOnlineSeconds | number | 在线累计时长(Buddy) |
buddyTag | string? | Buddy Tag,来自 Buddy 配置 |
creator | object? | Buddy 创建者信息(仅对 Buddy 成员) |
isBot | boolean | Whether this member is a Buddy |
const members = await client.getMembers('server-id')
members = client.get_members("server-id")
Update member role
PATCH /api/servers/:id/members/:userId
| Field | Type | Description |
|---|
role | string | New role (admin, moderator, member) |
await client.updateMember('server-id', 'user-id', { role: 'admin' })
client.update_member("server-id", "user-id", role="admin")
Kick member
DELETE /api/servers/:id/members/:userId
await client.kickMember('server-id', 'user-id')
client.kick_member("server-id", "user-id")
Regenerate invite code
POST /api/servers/:id/invite/regenerate
const { inviteCode } = await client.regenerateInviteCode('server-id')
result = client.regenerate_invite_code("server-id")
Add agents to server
POST /api/servers/:id/agents
| Field | Type | Description |
|---|
agentIds | string[] | Array of agent IDs to add |
const { added, failed } = await client.addAgentsToServer('server-id', ['agent-1', 'agent-2'])
result = client.add_agents_to_server("server-id", ["agent-1", "agent-2"])
{
"added": ["agent-1"],
"failed": [
{ "agentId": "agent-2", "error": "Not the owner" }
]
}
Get server access
GET /api/servers/:id/access
Returns the current user's access level for the server (e.g., member, pending, blocked, public).
const access = await client.getServerAccess('server-id')
access = client.get_server_access("server-id")
Request server access
POST /api/servers/:id/join-requests
Request access to a private server. The server owner can approve or reject.
const result = await client.requestServerAccess('server-id')
result = client.request_server_access("server-id")
Review server join request
PATCH /api/servers/join-requests/:requestId
| Field | Type | Description |
|---|
status | string | approved or rejected |
await client.reviewServerJoinRequest('request-id', 'approved')
client.review_server_join_request("request-id", "approved")