docs: improve doucmentation
improve doucmentation and fix small store changes
This commit is contained in:
81
docs-site/docs/plugin-development/api/server.md
Normal file
81
docs-site/docs/plugin-development/api/server.md
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Server API
|
||||
|
||||
The server API reads the active server, registers plugin-owned users, and updates server settings or permissions.
|
||||
|
||||
## Required Capabilities
|
||||
|
||||
| Method | Capability |
|
||||
| --- | --- |
|
||||
| `server.getCurrent()` | `server.read` |
|
||||
| `server.registerPluginUser(request)` | `users.manage` |
|
||||
| `server.updatePermissions(permissions)` | `server.manage` |
|
||||
| `server.updateSettings(settings)` | `server.manage` |
|
||||
|
||||
## Read Current Server
|
||||
|
||||
```js
|
||||
export function activate(context) {
|
||||
const server = context.api.server.getCurrent();
|
||||
|
||||
context.api.logger.info('Current server', {
|
||||
id: server?.id,
|
||||
name: server?.name,
|
||||
topic: server?.topic,
|
||||
isPrivate: server?.isPrivate
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
## Register a Plugin User
|
||||
|
||||
Plugin users are useful for bot-style messages.
|
||||
|
||||
```js
|
||||
export function activate(context) {
|
||||
const botUserId = context.api.server.registerPluginUser({
|
||||
id: 'standup-helper-bot',
|
||||
displayName: 'Standup Helper',
|
||||
avatarUrl: 'https://cdn.example.com/metoyou/plugins/standup-helper.png'
|
||||
});
|
||||
|
||||
context.api.messages.sendAsPluginUser({
|
||||
pluginUserId: botUserId,
|
||||
channelId: 'general',
|
||||
content: 'Standup reminder: share yesterday, today, and blockers.'
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
Capabilities required: `users.manage` and `messages.send`.
|
||||
|
||||
## Update Server Settings
|
||||
|
||||
```js
|
||||
export function activate(context) {
|
||||
context.api.server.updateSettings({
|
||||
name: 'Friday Game Night',
|
||||
topic: 'Co-op games, voice chat, and clips',
|
||||
description: 'A friendly server for Friday sessions.',
|
||||
maxUsers: 64,
|
||||
isPrivate: false
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
## Update Permissions
|
||||
|
||||
```js
|
||||
export function activate(context) {
|
||||
context.api.server.updatePermissions({
|
||||
allowVoice: true,
|
||||
allowVideo: true,
|
||||
allowScreenShare: true
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
Only update settings or permissions as part of an explicit admin flow. Plugins should not silently rename servers or change access rules.
|
||||
Reference in New Issue
Block a user