karin-plugin-teamspeak 1.5.9 → 1.8.0
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/config/config/config.d.ts +1 -0
- package/config/config/config.json +2 -1
- package/lib/apps/ts3.js +23 -5
- package/lib/web.config.d.ts +1 -1
- package/lib/web.config.js +21 -0
- package/package.json +1 -1
package/lib/apps/ts3.js
CHANGED
|
@@ -29,7 +29,13 @@ class ts3 {
|
|
|
29
29
|
nickname: TS.NICKNAME,
|
|
30
30
|
});
|
|
31
31
|
_teamspeak.on("ready", async () => {
|
|
32
|
-
|
|
32
|
+
if (this.isReConnecting) {
|
|
33
|
+
logger.info(loggerPluginName + "重连成功");
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
logger.info(loggerPluginName + "ts3连接成功");
|
|
37
|
+
}
|
|
38
|
+
this.isReConnecting = false;
|
|
33
39
|
this.teamspeak = _teamspeak;
|
|
34
40
|
});
|
|
35
41
|
_teamspeak.on("close", (e) => {
|
|
@@ -62,6 +68,22 @@ class ts3 {
|
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
});
|
|
71
|
+
// 监听用户移动频道事件
|
|
72
|
+
_teamspeak.on("clientmoved", (e) => {
|
|
73
|
+
if (TS.ENABLE_CHANNEL_MOVE_NOTIFY === "true" &&
|
|
74
|
+
e.client &&
|
|
75
|
+
!disNotifyNameList.includes(e.client.nickname)) {
|
|
76
|
+
logger.info(loggerPluginName +
|
|
77
|
+
e.client.nickname +
|
|
78
|
+
"移动到频道: " +
|
|
79
|
+
e.channel.name);
|
|
80
|
+
const msg = segment.text(e.client.nickname + "移动到频道: " + e.channel.name);
|
|
81
|
+
TS.NOTICE_GROUP_NO.forEach((groupNo) => {
|
|
82
|
+
const contact = karin.contact("group", groupNo + "");
|
|
83
|
+
karin.sendMsg(karin.getBotAll()[1].account.selfId, contact, msg);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
});
|
|
65
87
|
};
|
|
66
88
|
//获取ts3服务器的所有对应频道的人 -- 并组装成文字可直接发
|
|
67
89
|
getAllChannelList = async () => {
|
|
@@ -145,14 +167,10 @@ class ts3 {
|
|
|
145
167
|
logger.info(loggerPluginName + "重连中...");
|
|
146
168
|
try {
|
|
147
169
|
await this.teamspeak.reconnect(TS.RECONNECT_TIMER, 1000);
|
|
148
|
-
logger.info(loggerPluginName + "重连成功");
|
|
149
170
|
}
|
|
150
171
|
catch (e) {
|
|
151
172
|
logger.error(loggerPluginName + "连接TS3失败", e);
|
|
152
173
|
}
|
|
153
|
-
finally {
|
|
154
|
-
this.isReConnecting = false;
|
|
155
|
-
}
|
|
156
174
|
}
|
|
157
175
|
}
|
|
158
176
|
const teamspeak3 = new ts3();
|
package/lib/web.config.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Config } from "config/config/config";
|
|
|
2
2
|
declare const _default: {
|
|
3
3
|
info: {};
|
|
4
4
|
/** 动态渲染的组件 */
|
|
5
|
-
components: () => (import("node-karin").InputProps | import("node-karin").
|
|
5
|
+
components: () => (import("node-karin").InputProps | import("node-karin").RadioGroupProps | import("node-karin").InputGroupProps)[];
|
|
6
6
|
/** 前端点击保存之后调用的方法 */
|
|
7
7
|
save: (config: Config) => {
|
|
8
8
|
success: boolean;
|
package/lib/web.config.js
CHANGED
|
@@ -108,6 +108,27 @@ export default {
|
|
|
108
108
|
},
|
|
109
109
|
data: [...config().DIS_NOTIFY_NAME_LIST],
|
|
110
110
|
}),
|
|
111
|
+
components.radio.group("ENABLE_CHANNEL_MOVE_NOTIFY", {
|
|
112
|
+
defaultValue: config().ENABLE_CHANNEL_MOVE_NOTIFY ? "true" : "false",
|
|
113
|
+
label: "移动频道播报功能",
|
|
114
|
+
description: "当用户在Teamspeak中移动频道时自动播报",
|
|
115
|
+
size: "sm",
|
|
116
|
+
orientation: "horizontal",
|
|
117
|
+
radio: [
|
|
118
|
+
{
|
|
119
|
+
componentType: "radio",
|
|
120
|
+
key: "ENABLE_CHANNEL_MOVE_NOTIFY_TRUE",
|
|
121
|
+
value: "true",
|
|
122
|
+
label: "开启",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
componentType: "radio",
|
|
126
|
+
key: "ENABLE_CHANNEL_MOVE_NOTIFY_FALSE",
|
|
127
|
+
value: "false",
|
|
128
|
+
label: "关闭",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
}),
|
|
111
132
|
],
|
|
112
133
|
/** 前端点击保存之后调用的方法 */
|
|
113
134
|
save: (config) => {
|