切换外观
网站 SDK 与调用示例
使用 VexBot 提供的 ES module SDK 读取社区与服务器状态,或接入注册、登录和本人服务。先在 Bot 保存准确网站来源与实际 API 地址;正式部署使用访客可访问的 HTTPS 地址。
获取 SDK
可从内置面板下载 website-registration.js,从新版控制台下载 VexBot-website-sdk.js,或使用独立官网项目中的 sdk/starbridge.js。示例中的 import 路径按实际保存位置调整。
先读取公开信息
html
<h1 id="community"></h1>
<pre id="servers"></pre>
<script type="module">
import { createVexBotClient } from './sdk/starbridge.js';
const client = createVexBotClient('https://bot.example.com/api/v1');
try {
const info = await client.communityInfo();
const result = await client.servers();
document.getElementById('community').textContent = info.title;
document.getElementById('servers').textContent = result.servers.map(server =>
`${server.name}:${server.connected ? `在线 ${server.online_count} 人` : '未连接'}`
).join('\n');
} catch (error) {
document.getElementById('servers').textContent = error.message;
}
</script>SDK 接受 Bot 来源地址或含 /api/v1 的完整地址。公开读取无需任何密钥,服务器和玩家接口分别受公开开关限制。 connected 是桥接心跳状态,未连接不等于已确认游戏进程停止;断连时人数可能为 null。
登录与本人服务
js
const result = await client.login(playerInput, passwordInput);
const token = result.access_token;
const profile = await client.profile(token);
const services = await client.services(token);
// 用户主动提交时才调用以下写操作:
// await client.bind(token, 'survival', gameBindCode);
// await client.unbind(token, 'survival');
// await client.applyWhitelist(token, 'survival', reasonInput);
await client.logout(token);playerInput、passwordInput 等取自自己的表单,不要硬编码账号密码。示例官网只在当前标签页的 sessionStorage 保存短期令牌,密码不保存;退出时清除令牌,遇到 401 时要求重新登录。 社区账号 ID 不是 Minecraft UUID,本人游戏身份来自已验证的实际关联,不按同名玩家猜测。
功能与身份
| 功能 | 方法 | 身份 |
|---|---|---|
| 公开资料 | communityInfo、servers、players、player | 无凭据,受公开范围与来源控制 |
| 邮件注册 | info、apply、resend、verify | 邮件验证码,不接受跳过验证 |
| 找回密码 | requestPassword、setPassword | 注册邮箱验证码 |
| 本人资料 | account、profile、services | 当前用户短期令牌 |
| 本人绑定与申请 | bind、unbind、applyWhitelist | 当前用户短期令牌,不能指定其他人 QQ/账号 |
| 本人工单 | tickets、ticket、createTicket、replyTicket | 当前用户短期令牌 |
网站后端密钥只用于服务端查询,不能放进前端 SDK、config.json 或公开仓库;管理令牌和游戏桥接令牌也不能代替用户令牌。 展示 API 文字时使用 DOM textContent,不要把用户或管理员输入直接作为 HTML 执行。
旧名称兼容
新接入使用 createVexBotClient 或注册专用的 createVexBotRegistration。 SDK 继续提供 createMyrinbotClient / createMyrinbotRegistration、createStarBridgeClient / createStarBridgeRegistration、createAetherBotClient / createAetherBotRegistration 兼容别名,已有网站无需因显示名称修改导入。