@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 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.78",
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.68",
46
- "@zhin.js/console": "2.0.15",
47
- "zhin.js": "1.0.72"
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.15",
52
- "@zhin.js/http": "1.0.65",
53
- "zhin.js": "1.0.72"
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": {
@@ -2,7 +2,11 @@
2
2
  name: discord
3
3
  platforms:
4
4
  - discord
5
- description: Discord 服务器管理:群管(踢人、封禁、解封、禁言、改昵称、查成员)、角色管理、帖子/论坛、表情反应、Embed 消息、线程创建。需先 list_members 获取用户 ID。
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` | 为成员添加角色 | group_admin |
48
- | `discord_remove_role` | 移除成员角色 | group_admin |
49
- | `discord_list_roles` | 获取服务器角色列表 | user |
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
- | `discord_kick_member` | 踢出成员 | group_admin |
60
- | `discord_ban_member` | 封禁成员 | group_admin |
61
- | `discord_unban_member` | 解除封禁 | group_admin |
62
- | `discord_mute_member` | 禁言成员 | group_admin |
63
- | `discord_set_nickname` | 修改成员昵称 | group_admin |
64
- | `discord_list_members` | 获取成员列表 | user |
65
- | `discord_get_group_info` | 获取服务器/频道信息 | user |
66
-
67
- ## 执行规则
68
-
69
- 1. 操作成员需要 Discord 用户 ID,仅有昵称时先调 `discord_list_members`
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 的角色,操作会失败。