@zhin.js/adapter-discord 1.0.78 → 1.0.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/package.json +7 -7
- package/skills/discord/SKILL.md +61 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @zhin.js/adapter-discord
|
|
2
2
|
|
|
3
|
+
## 1.0.80
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [c9dec38]
|
|
8
|
+
- zhin.js@1.0.74
|
|
9
|
+
- @zhin.js/console@2.0.17
|
|
10
|
+
- @zhin.js/http@1.0.67
|
|
11
|
+
|
|
12
|
+
## 1.0.79
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- f1e9a76: fix: 提高 skill 质量
|
|
17
|
+
- zhin.js@1.0.73
|
|
18
|
+
- @zhin.js/console@2.0.16
|
|
19
|
+
- @zhin.js/http@1.0.66
|
|
20
|
+
|
|
3
21
|
## 1.0.78
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-discord",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.80",
|
|
4
4
|
"description": "Zhin.js adapter for Discord",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
"@types/react-dom": "^19.2.1",
|
|
43
43
|
"lucide-react": "^1.11.0",
|
|
44
44
|
"typescript": "^6.0.3",
|
|
45
|
-
"@zhin.js/cli": "1.0.
|
|
46
|
-
"@zhin.js/console": "2.0.
|
|
47
|
-
"zhin.js": "1.0.
|
|
45
|
+
"@zhin.js/cli": "1.0.70",
|
|
46
|
+
"@zhin.js/console": "2.0.17",
|
|
47
|
+
"zhin.js": "1.0.74"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@zhin.js/client": "1.0.18",
|
|
51
|
-
"@zhin.js/console": "2.0.
|
|
52
|
-
"@zhin.js/http": "1.0.
|
|
53
|
-
"zhin.js": "1.0.
|
|
51
|
+
"@zhin.js/console": "2.0.17",
|
|
52
|
+
"@zhin.js/http": "1.0.67",
|
|
53
|
+
"zhin.js": "1.0.74"
|
|
54
54
|
},
|
|
55
55
|
"peerDependenciesMeta": {
|
|
56
56
|
"@zhin.js/client": {
|
package/skills/discord/SKILL.md
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
name: discord
|
|
3
3
|
platforms:
|
|
4
4
|
- discord
|
|
5
|
-
description:
|
|
5
|
+
description: >-
|
|
6
|
+
Discord 服务器全功能管理。当用户在 Discord 中请求群管(踢人、封禁、解封、禁言、改昵称)、
|
|
7
|
+
角色管理(授予/移除/查看角色)、内容管理(线程创建、论坛帖子、Embed 富文本、表情反应)、
|
|
8
|
+
或查询成员/服务器信息时使用。即使用户没有提到 Discord,只要上下文是 Discord 场景
|
|
9
|
+
且涉及上述操作,就应触发。仅有用户名时必须先 list_members 获取 user ID。
|
|
6
10
|
keywords:
|
|
7
11
|
- discord
|
|
8
12
|
- adapter:discord
|
|
@@ -14,13 +18,13 @@ keywords:
|
|
|
14
18
|
- 线程
|
|
15
19
|
- embed
|
|
16
20
|
- 反应
|
|
21
|
+
- 论坛
|
|
17
22
|
- list_members
|
|
18
23
|
tags:
|
|
19
24
|
- group
|
|
20
25
|
- management
|
|
21
26
|
- im
|
|
22
27
|
tools:
|
|
23
|
-
# 平台特有工具
|
|
24
28
|
- discord_add_role
|
|
25
29
|
- discord_remove_role
|
|
26
30
|
- discord_list_roles
|
|
@@ -28,7 +32,6 @@ tools:
|
|
|
28
32
|
- discord_react
|
|
29
33
|
- discord_send_embed
|
|
30
34
|
- discord_forum_post
|
|
31
|
-
# 通用群管工具
|
|
32
35
|
- discord_kick_member
|
|
33
36
|
- discord_ban_member
|
|
34
37
|
- discord_unban_member
|
|
@@ -38,35 +41,64 @@ tools:
|
|
|
38
41
|
- discord_get_group_info
|
|
39
42
|
---
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
# Discord 服务器管理技能
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
Discord 的管理模型围绕「角色」和「权限」展开,与 QQ 的 admin/member 模型不同。
|
|
44
47
|
|
|
45
|
-
|
|
48
|
+
## 核心原则
|
|
49
|
+
|
|
50
|
+
### ID 获取链
|
|
51
|
+
|
|
52
|
+
Discord 操作需要精确的 ID(用户 ID、角色 ID)。两步获取:
|
|
53
|
+
- **用户 ID**:`discord_list_members` → 匹配昵称
|
|
54
|
+
- **角色 ID**:`discord_list_roles` → 匹配角色名
|
|
55
|
+
|
|
56
|
+
**Example:**
|
|
57
|
+
```
|
|
58
|
+
用户: 给小明加个"管理员"角色
|
|
59
|
+
步骤1: discord_list_members → 找到小明的 user_id
|
|
60
|
+
步骤2: discord_list_roles → 找到"管理员"角色的 role_id
|
|
61
|
+
步骤3: discord_add_role(user_id, role_id)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 角色优先思维
|
|
65
|
+
|
|
66
|
+
Discord 中几乎所有权限都由角色控制。用户说「给他管理员」不一定是设管理员,可能是授予某个有管理权限的角色。理解用户意图后选择正确的工具。
|
|
67
|
+
|
|
68
|
+
## 工具分类
|
|
69
|
+
|
|
70
|
+
### 成员管理
|
|
71
|
+
|
|
72
|
+
| 工具 | 用途 | 说明 |
|
|
73
|
+
|------|------|------|
|
|
74
|
+
| `discord_kick_member` | 踢出成员 | 被踢后可通过邀请重新加入 |
|
|
75
|
+
| `discord_ban_member` | 封禁 | 阻止重新加入 + 可选删除历史消息 |
|
|
76
|
+
| `discord_unban_member` | 解除封禁 | — |
|
|
77
|
+
| `discord_mute_member` | 禁言 | — |
|
|
78
|
+
| `discord_set_nickname` | 改昵称 | 服务器内昵称,非全局 |
|
|
79
|
+
| `discord_list_members` | 成员列表 | — |
|
|
80
|
+
| `discord_get_group_info` | 服务器/频道信息 | — |
|
|
81
|
+
|
|
82
|
+
### 角色管理
|
|
83
|
+
|
|
84
|
+
| 工具 | 用途 | 说明 |
|
|
46
85
|
|------|------|------|
|
|
47
|
-
| `discord_add_role` |
|
|
48
|
-
| `discord_remove_role` |
|
|
49
|
-
| `discord_list_roles` |
|
|
50
|
-
| `discord_create_thread` | 创建线程 | user |
|
|
51
|
-
| `discord_react` | 对消息添加表情反应 | user |
|
|
52
|
-
| `discord_send_embed` | 发送 Embed 富文本消息 | user |
|
|
53
|
-
| `discord_forum_post` | 在论坛频道创建帖子 | user |
|
|
86
|
+
| `discord_add_role` | 授予角色 | 需 role_id |
|
|
87
|
+
| `discord_remove_role` | 移除角色 | 需 role_id |
|
|
88
|
+
| `discord_list_roles` | 角色列表 | 获取所有角色及其 ID |
|
|
54
89
|
|
|
55
|
-
###
|
|
90
|
+
### 内容与互动
|
|
56
91
|
|
|
57
|
-
| 工具 |
|
|
92
|
+
| 工具 | 用途 | 说明 |
|
|
58
93
|
|------|------|------|
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
2. 角色操作需要角色 ID,先调 `discord_list_roles` 查询
|
|
71
|
-
3. Embed 消息支持 title/description/color/fields 等字段
|
|
72
|
-
4. 仅 Gateway 连接的 Bot 支持全部功能
|
|
94
|
+
| `discord_create_thread` | 创建线程 | 从消息或频道创建讨论线程 |
|
|
95
|
+
| `discord_react` | 表情反应 | 支持 Unicode emoji 和自定义 emoji |
|
|
96
|
+
| `discord_send_embed` | Embed 富文本 | title/description/color/fields 等字段 |
|
|
97
|
+
| `discord_forum_post` | 论坛帖子 | 在论坛频道发布帖子 |
|
|
98
|
+
|
|
99
|
+
## 易错点
|
|
100
|
+
|
|
101
|
+
1. **Discord 昵称是服务器级别的**,一个用户在不同服务器可以有不同昵称。
|
|
102
|
+
2. **角色操作需要角色 ID**,不能用角色名直接操作。先 `list_roles` 查。
|
|
103
|
+
3. **Embed 消息不是普通文本**,它有固定结构(title/description/color/fields),用于发送富文本格式的消息。
|
|
104
|
+
4. **Bot 只能操作低于自身角色的成员**。如果目标用户的最高角色高于 Bot 的角色,操作会失败。
|