@zhin.js/adapter-icqq 6.0.0 → 6.0.1
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 +19 -0
- package/README.md +2 -2
- package/dist/index.js +2 -2
- package/lib/adapter.d.ts +11 -4
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +13 -6
- package/lib/adapter.js.map +1 -1
- package/lib/cq-message.d.ts.map +1 -1
- package/lib/cq-message.js +12 -3
- package/lib/cq-message.js.map +1 -1
- package/lib/endpoint.d.ts +12 -8
- package/lib/endpoint.d.ts.map +1 -1
- package/lib/endpoint.js +110 -44
- package/lib/endpoint.js.map +1 -1
- package/lib/icqq-guild.d.ts +48 -0
- package/lib/icqq-guild.d.ts.map +1 -0
- package/lib/icqq-guild.js +115 -0
- package/lib/icqq-guild.js.map +1 -0
- package/lib/icqq-inbound.d.ts.map +1 -1
- package/lib/icqq-inbound.js +15 -5
- package/lib/icqq-inbound.js.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/segment-mapper.d.ts +2 -0
- package/lib/segment-mapper.d.ts.map +1 -0
- package/lib/segment-mapper.js +2 -0
- package/lib/segment-mapper.js.map +1 -0
- package/lib/tools/index.d.ts +1 -1
- package/lib/tools/index.js +8 -8
- package/lib/types.d.ts +0 -44
- package/lib/types.d.ts.map +1 -1
- package/package.json +18 -18
- package/skills/icqq/PERMITS.md +6 -6
- package/src/adapter.ts +13 -6
- package/src/cq-message.ts +11 -3
- package/src/endpoint.ts +139 -51
- package/src/icqq-guild.ts +157 -0
- package/src/icqq-inbound.ts +16 -5
- package/src/index.ts +0 -8
- package/src/segment-mapper.ts +1 -0
- package/src/tools/index.ts +9 -9
- package/src/types.ts +0 -45
- package/lib/typing-indicator-example.d.ts +0 -108
- package/lib/typing-indicator-example.d.ts.map +0 -1
- package/lib/typing-indicator-example.js +0 -220
- package/lib/typing-indicator-example.js.map +0 -1
- package/lib/typing-indicator.d.ts +0 -87
- package/lib/typing-indicator.d.ts.map +0 -1
- package/lib/typing-indicator.js +0 -229
- package/lib/typing-indicator.js.map +0 -1
- package/src/typing-indicator-example.ts +0 -269
- package/src/typing-indicator.ts +0 -317
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @zhin.js/adapter-icqq
|
|
2
2
|
|
|
3
|
+
## 6.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5cc9c03: fix: ai 优化
|
|
8
|
+
- b9b3881: fix: 增加游戏引擎以及部分游戏
|
|
9
|
+
- Updated dependencies [5b08052]
|
|
10
|
+
- Updated dependencies [5cc9c03]
|
|
11
|
+
- Updated dependencies [36d6db2]
|
|
12
|
+
- Updated dependencies [b9b3881]
|
|
13
|
+
- Updated dependencies [7700903]
|
|
14
|
+
- @zhin.js/agent@1.0.2
|
|
15
|
+
- @zhin.js/core@1.3.3
|
|
16
|
+
- @zhin.js/client@2.0.4
|
|
17
|
+
- @zhin.js/contract@1.0.2
|
|
18
|
+
- @zhin.js/host-api@2.0.4
|
|
19
|
+
- @zhin.js/host-router@2.0.2
|
|
20
|
+
- zhin.js@4.1.1
|
|
21
|
+
|
|
3
22
|
## 6.0.0
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -261,11 +261,11 @@ const memberInfo = endpoint.getGroupMemberInfo(groupId, userId)
|
|
|
261
261
|
|
|
262
262
|
## 🔧 群管理工具(AI 可调用)
|
|
263
263
|
|
|
264
|
-
适配器通过覆写 `
|
|
264
|
+
适配器通过覆写 `ISceneManagement` 标准方法自动注册群管理工具,同时保留平台特有工具,这些工具可以被 AI 调用,实现智能化的群管理。
|
|
265
265
|
|
|
266
266
|
### 标准群管工具(自动生成)
|
|
267
267
|
|
|
268
|
-
通过覆写 `
|
|
268
|
+
通过覆写 `ISceneManagement` 方法,`start()` 时自动检测并生成对应 Tool:
|
|
269
269
|
|
|
270
270
|
| 工具 | 覆写方法 | 所需权限 | 说明 |
|
|
271
271
|
|------|---------|----------|------|
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useCallback as De,useEffect as Re,useState as z}from"react";import{forwardRef as re,createElement as fe}from"react";var N=(...a)=>a.filter((u,f,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===f).join(" ").trim();var Q=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var J=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,f,s)=>s?s.toUpperCase():f.toLowerCase());var X=a=>{let u=J(a);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as le,createElement as Y}from"react";var V={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var _=a=>{for(let u in a)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as oe,useContext as ue,useMemo as Ee,createElement as Ne}from"react";var de=oe({});var j=()=>ue(de);var $=le(({color:a,size:u,strokeWidth:f,absoluteStrokeWidth:s,className:L="",children:i,iconNode:n,...h},x)=>{let{size:l=24,strokeWidth:m=2,absoluteStrokeWidth:G=!1,color:g="currentColor",className:F=""}=j()??{},P=s??G?Number(f??m)*24/Number(u??l):f??m;return Y("svg",{ref:x,...V,width:u??l??V.width,height:u??l??V.height,stroke:a??g,strokeWidth:P,className:N("lucide",F,L),...!i&&!_(h)&&{"aria-hidden":"true"},...h},[...n.map(([W,e])=>Y(W,e)),...Array.isArray(i)?i:[i]])});var o=(a,u)=>{let f=re(({className:s,...L},i)=>fe($,{ref:i,iconNode:u,className:N(`lucide-${Q(X(a))}`,`lucide-${a}`,s),...L}));return f.displayName=X(a),f};var se=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],y=o("activity",se);var ie=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],A=o("bot",ie);var ce=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],k=o("circle-alert",ce);var ne=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],C=o("loader-circle",ne);var pe=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],w=o("log-in",pe);var me=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],D=o("message-square",me);var Le=[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]],R=o("mouse-pointer",Le);var Ie=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],b=o("qr-code",Ie);var xe=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],T=o("refresh-cw",xe);var Ce=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],B=o("smartphone",Ce);var he=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],q=o("users",he);var ge=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],v=o("wifi-off",ge);var Se=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],U=o("wifi",Se);var ke=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],O=o("x",ke);import{useCallback as ae,useEffect as Be,useRef as te,useState as H}from"react";var ee="zhin_api_token",we="zhin_api_base";function Pe(){let a=localStorage.getItem(we)?.trim();return a?a.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function Ae(){return localStorage.getItem(ee)}async function M(a,u){let f=Ae(),s=new Headers(u?.headers);f&&s.set("Authorization",`Bearer ${f}`);let L=Pe(),i=typeof a=="string"&&a.startsWith("/")?`${L}${a}`:a,n=await fetch(i,{...u,headers:s});return n.status===401&&(localStorage.removeItem(ee),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),n}import{jsx as t,jsxs as p}from"react/jsx-runtime";var Me=2e3,Fe=15e3,ye={qrcode:{icon:t(b,{className:"w-4 h-4"}),label:"\u626B\u7801\u767B\u5F55"},sms:{icon:t(D,{className:"w-4 h-4"}),label:"\u77ED\u4FE1\u9A8C\u8BC1\u7801"},device:{icon:t(B,{className:"w-4 h-4"}),label:"\u8BBE\u5907\u9A8C\u8BC1"},auth:{icon:t(B,{className:"w-4 h-4"}),label:"\u8EAB\u4EFD\u9A8C\u8BC1"},slider:{icon:t(R,{className:"w-4 h-4"}),label:"\u6ED1\u5757\u9A8C\u8BC1"}};function K(){let[a,u]=H([]),[f,s]=H(!0),[L,i]=H(null),[n,h]=H({}),[x,l]=H({}),m=te(0),G=te(),g=ae(async()=>{try{let e=await M("/api/login-assist/pending");if(!e.ok)throw new Error("\u83B7\u53D6\u5F85\u529E\u5931\u8D25");let S=await e.json(),I=(Array.isArray(S)?S:[]).filter(E=>E.adapter==="icqq");u(I),i(null),m.current=I.length>0?0:m.current+1}catch(e){i(e.message),m.current++}finally{s(!1)}},[]),F=ae(()=>{let e=Math.min(Me*Math.pow(1.5,m.current),Fe);G.current=setTimeout(async()=>{await g(),F()},e)},[g]);Be(()=>(g().then(F),()=>clearTimeout(G.current)),[g,F]);let P=async(e,S)=>{h(d=>({...d,[e]:!0}));try{if(!(await M("/api/login-assist/submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,value:S})})).ok)throw new Error("\u63D0\u4EA4\u5931\u8D25");l(I=>{let E={...I};return delete E[e],E}),m.current=0,await g()}catch(d){i(d.message)}finally{h(d=>({...d,[e]:!1}))}},W=async e=>{try{(await M("/api/login-assist/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok&&await g()}catch{}};return f&&a.length===0?t("div",{className:"flex justify-center py-12",children:t(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):p("div",{className:"space-y-4",children:[t("p",{className:"text-sm text-muted-foreground",children:"\u626B\u7801\u3001\u77ED\u4FE1\u6216\u6ED1\u5757\u7B49\u9A8C\u8BC1\u4F1A\u51FA\u73B0\u5728\u4E0B\u65B9\uFF1B\u5237\u65B0\u9875\u9762\u540E\u4ECD\u53EF\u7EE7\u7EED\u5904\u7406\uFF08\u4EC5 ICQQ \u5F85\u529E\uFF09\u3002"}),L&&p("div",{className:"flex items-center gap-2 p-3 rounded border border-red-200 bg-red-50 text-red-600 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:[t(k,{className:"w-4 h-4 shrink-0"}),t("span",{children:L}),t("button",{onClick:()=>i(null),className:"ml-auto",children:t(O,{className:"w-3.5 h-3.5"})})]}),a.length===0?p("div",{className:"border rounded-lg bg-card p-12 text-center",children:[t(w,{className:"w-16 h-16 mx-auto mb-4 opacity-25"}),t("h3",{className:"text-lg font-semibold mb-1",children:"\u6682\u65E0\u5F85\u529E"}),t("p",{className:"text-sm text-muted-foreground",children:"\u673A\u5668\u4EBA\u9700\u8981\u9A8C\u8BC1\u65F6\uFF0C\u5F85\u529E\u5C06\u663E\u793A\u5728\u6B64\u5904"})]}):t("div",{className:"space-y-4",children:a.map(e=>{let S=ye[e.type]??{icon:t(w,{className:"w-4 h-4"}),label:e.type};return p("div",{className:"border rounded-lg bg-card p-4 shadow-sm",children:[p("div",{className:"flex items-start justify-between flex-wrap gap-2 mb-2",children:[p("div",{className:"flex items-center gap-2 font-semibold",children:[S.icon," ",S.label]}),p("div",{className:"flex gap-1 text-xs",children:[t("span",{className:"px-2 py-0.5 rounded border",children:e.adapter}),t("span",{className:"px-2 py-0.5 rounded bg-muted",children:e.endpointId})]})]}),e.payload?.message&&t("p",{className:"text-sm text-muted-foreground mb-3",children:e.payload.message}),e.type==="qrcode"&&e.payload?.image&&t("div",{className:"flex justify-center p-4 bg-muted/30 rounded-lg mb-3",children:t("img",{src:String(e.payload.image),alt:"\u767B\u5F55\u4E8C\u7EF4\u7801",className:"max-w-[200px] w-full h-auto"})}),(e.type==="slider"||e.type==="auth")&&e.payload?.url&&p("p",{className:"text-sm break-all mb-3",children:[t("span",{className:"text-muted-foreground",children:"\u9A8C\u8BC1\u94FE\u63A5\uFF1A"})," ",t("a",{href:String(e.payload.url),target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:String(e.payload.url)})]}),e.type==="auth"&&e.payload?.device&&typeof e.payload.device=="object"&&p("div",{className:"text-xs text-muted-foreground mb-3 space-y-1 rounded border p-3 bg-muted/20",children:[t("div",{className:"font-medium text-foreground",children:"\u8BBE\u5907\u4FE1\u606F\uFF08\u767B\u5F55\u7EED\u4F20\u7528\uFF09"}),Object.entries(e.payload.device).filter(([,d])=>d!=null&&String(d)!=="").map(([d,I])=>p("div",{children:[p("span",{className:"opacity-70",children:[d,": "]}),t("span",{className:"font-mono break-all",children:String(I)})]},d))]}),e.type==="auth"&&p("div",{className:"flex gap-2 mt-3",children:[t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u5B8C\u6210\u9A8C\u8BC1"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{W(e.id)},children:"\u53D6\u6D88"})]}),(e.type==="sms"||e.type==="device"||e.type==="slider")&&p("div",{className:"flex flex-wrap gap-2 items-center",children:[t("input",{className:"h-9 px-3 rounded-md border border-input bg-background text-sm max-w-[18rem] flex-1",placeholder:e.type==="slider"?"\u8F93\u5165 ticket":"\u8F93\u5165\u9A8C\u8BC1\u7801",value:x[e.id]??"",onChange:d=>l(I=>({...I,[e.id]:d.target.value})),onKeyDown:d=>{if(d.key==="Enter"){let I=x[e.id]?.trim();I&&P(e.id,e.type==="slider"?{ticket:I}:I)}}}),t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:n[e.id]||!x[e.id]?.trim(),onClick:()=>{let d=x[e.id]?.trim();d&&P(e.id,e.type==="slider"?{ticket:d}:d)},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u63D0\u4EA4"})]}),e.type==="qrcode"&&p("div",{className:"flex gap-2 mt-3",children:[t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u626B\u7801"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{W(e.id)},children:"\u53D6\u6D88"})]})]},e.id)})})]})}import{Fragment as be,jsx as r,jsxs as c}from"react/jsx-runtime";function Z(){let[a,u]=z("overview"),[f,s]=z([]),[L,i]=z(!0),[n,h]=z(null),x=De(async()=>{i(!0),h(null);try{let l=await M("/api/icqq/endpoints"),m=await l.json();if(!l.ok||!m.success)throw new Error(m.message||"\u52A0\u8F7D\u5931\u8D25");s(Array.isArray(m.data)?m.data:[])}catch(l){h(l.message),s([])}finally{i(!1)}},[]);return Re(()=>{a==="overview"&&x()},[a,x]),c("div",{className:"p-6 max-w-5xl mx-auto space-y-5",children:[c("div",{className:"flex items-center justify-between",children:[c("div",{children:[c("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[r(A,{className:"w-6 h-6"})," ICQQ \u7BA1\u7406"]}),r("p",{className:"text-sm text-muted-foreground mt-1",children:"\u673A\u5668\u4EBA\u6982\u89C8\u4E0E\u767B\u5F55\u8F85\u52A9\uFF08\u626B\u7801 / \u9A8C\u8BC1\u7801 / \u6ED1\u5757\uFF09"})]}),a==="overview"&&c("button",{onClick:x,disabled:L,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-blue-500 text-white hover:bg-blue-600 disabled:opacity-50 text-sm",children:[r(T,{className:`w-4 h-4 ${L?"animate-spin":""}`})," \u5237\u65B0"]})]}),c("div",{className:"flex gap-1 border-b",children:[r("button",{onClick:()=>u("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="overview"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:c("span",{className:"flex items-center gap-1.5",children:[r(A,{className:"w-4 h-4"})," \u6982\u89C8"]})}),r("button",{onClick:()=>u("login"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="login"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:c("span",{className:"flex items-center gap-1.5",children:[r(w,{className:"w-4 h-4"})," \u767B\u5F55\u8F85\u52A9"]})})]}),a==="overview"&&c(be,{children:[n&&r("div",{className:"p-3 bg-red-50 text-red-600 rounded border border-red-200 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:n}),L?r("div",{className:"flex justify-center py-12",children:r(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):f.length===0?r("div",{className:"text-center text-muted-foreground py-12",children:"\u6682\u65E0 ICQQ Endpoint \u5B9E\u4F8B"}):r("div",{className:"grid gap-4 md:grid-cols-2",children:f.map(l=>c("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[c("div",{className:"flex items-center justify-between mb-3",children:[r("span",{className:"font-medium text-lg",children:l.name}),l.connected?c("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[r(U,{className:"w-4 h-4"})," \u5728\u7EBF"]}):c("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[r(v,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),c("div",{className:"space-y-2 text-sm text-muted-foreground",children:[c("div",{className:"flex items-center gap-1.5",children:[r(q,{className:"w-3.5 h-3.5"}),"\u7FA4 ",l.groupCount," \xB7 \u597D\u53CB ",l.friendCount]}),c("div",{className:"flex items-center gap-1.5",children:[r(y,{className:"w-3.5 h-3.5"}),"\u767B\u5F55\u65B9\u5F0F ",l.loginMode," \xB7 ",l.status]})]})]},l.name))})]}),a==="login"&&r(K,{})]})}function dt(a){a.addRoute({path:"/console/icqq",name:"ICQQ\u7BA1\u7406",element:a.React.createElement(Z,{hostReact:a.React})}),a.addTool({id:"icqq",name:"ICQQ",path:"/console/icqq"})}export{dt as register};
|
|
1
|
+
import{useCallback as ye,useEffect as Re,useState as z}from"react";import{forwardRef as re,createElement as fe}from"react";var N=(...a)=>a.filter((u,f,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===f).join(" ").trim();var Q=a=>a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var J=a=>a.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,f,s)=>s?s.toUpperCase():f.toLowerCase());var X=a=>{let u=J(a);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as le,createElement as Y}from"react";var V={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var _=a=>{for(let u in a)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as oe,useContext as ue,useMemo as Ee,createElement as Ne}from"react";var de=oe({});var j=()=>ue(de);var $=le(({color:a,size:u,strokeWidth:f,absoluteStrokeWidth:s,className:L="",children:i,iconNode:n,...h},x)=>{let{size:l=24,strokeWidth:m=2,absoluteStrokeWidth:G=!1,color:g="currentColor",className:D=""}=j()??{},P=s??G?Number(f??m)*24/Number(u??l):f??m;return Y("svg",{ref:x,...V,width:u??l??V.width,height:u??l??V.height,stroke:a??g,strokeWidth:P,className:N("lucide",D,L),...!i&&!_(h)&&{"aria-hidden":"true"},...h},[...n.map(([W,e])=>Y(W,e)),...Array.isArray(i)?i:[i]])});var o=(a,u)=>{let f=re(({className:s,...L},i)=>fe($,{ref:i,iconNode:u,className:N(`lucide-${Q(X(a))}`,`lucide-${a}`,s),...L}));return f.displayName=X(a),f};var se=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],F=o("activity",se);var ie=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],A=o("bot",ie);var ce=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],k=o("circle-alert",ce);var ne=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],C=o("loader-circle",ne);var pe=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],w=o("log-in",pe);var me=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],y=o("message-square",me);var Le=[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]],R=o("mouse-pointer",Le);var Ie=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],b=o("qr-code",Ie);var xe=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],T=o("refresh-cw",xe);var Ce=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],B=o("smartphone",Ce);var he=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],q=o("users",he);var ge=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],v=o("wifi-off",ge);var Se=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],U=o("wifi",Se);var ke=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],O=o("x",ke);import{useCallback as ae,useEffect as Be,useRef as te,useState as H}from"react";var ee="zhin_api_token",we="zhin_api_base";function Pe(){let a=localStorage.getItem(we)?.trim();return a?a.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function Ae(){return localStorage.getItem(ee)}async function M(a,u){let f=Ae(),s=new Headers(u?.headers);f&&s.set("Authorization",`Bearer ${f}`);let L=Pe(),i=typeof a=="string"&&a.startsWith("/")?`${L}${a}`:a,n=await fetch(i,{...u,headers:s});return n.status===401&&(localStorage.removeItem(ee),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),n}import{jsx as t,jsxs as p}from"react/jsx-runtime";var Me=2e3,De=15e3,Fe={qrcode:{icon:t(b,{className:"w-4 h-4"}),label:"\u626B\u7801\u767B\u5F55"},sms:{icon:t(y,{className:"w-4 h-4"}),label:"\u77ED\u4FE1\u9A8C\u8BC1\u7801"},device:{icon:t(B,{className:"w-4 h-4"}),label:"\u8BBE\u5907\u9A8C\u8BC1"},auth:{icon:t(B,{className:"w-4 h-4"}),label:"\u8EAB\u4EFD\u9A8C\u8BC1"},slider:{icon:t(R,{className:"w-4 h-4"}),label:"\u6ED1\u5757\u9A8C\u8BC1"}};function K(){let[a,u]=H([]),[f,s]=H(!0),[L,i]=H(null),[n,h]=H({}),[x,l]=H({}),m=te(0),G=te(),g=ae(async()=>{try{let e=await M("/api/login-assist/pending");if(!e.ok)throw new Error("\u83B7\u53D6\u5F85\u529E\u5931\u8D25");let S=await e.json(),I=(Array.isArray(S)?S:[]).filter(E=>E.adapter==="icqq");u(I),i(null),m.current=I.length>0?0:m.current+1}catch(e){i(e.message),m.current++}finally{s(!1)}},[]),D=ae(()=>{let e=Math.min(Me*Math.pow(1.5,m.current),De);G.current=setTimeout(async()=>{await g(),D()},e)},[g]);Be(()=>(g().then(D),()=>clearTimeout(G.current)),[g,D]);let P=async(e,S)=>{h(d=>({...d,[e]:!0}));try{if(!(await M("/api/login-assist/submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,value:S})})).ok)throw new Error("\u63D0\u4EA4\u5931\u8D25");l(I=>{let E={...I};return delete E[e],E}),m.current=0,await g()}catch(d){i(d.message)}finally{h(d=>({...d,[e]:!1}))}},W=async e=>{try{(await M("/api/login-assist/cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok&&await g()}catch{}};return f&&a.length===0?t("div",{className:"flex justify-center py-12",children:t(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):p("div",{className:"space-y-4",children:[t("p",{className:"text-sm text-muted-foreground",children:"\u626B\u7801\u3001\u77ED\u4FE1\u6216\u6ED1\u5757\u7B49\u9A8C\u8BC1\u4F1A\u51FA\u73B0\u5728\u4E0B\u65B9\uFF1B\u5237\u65B0\u9875\u9762\u540E\u4ECD\u53EF\u7EE7\u7EED\u5904\u7406\uFF08\u4EC5 ICQQ \u5F85\u529E\uFF09\u3002"}),L&&p("div",{className:"flex items-center gap-2 p-3 rounded border border-red-200 bg-red-50 text-red-600 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:[t(k,{className:"w-4 h-4 shrink-0"}),t("span",{children:L}),t("button",{onClick:()=>i(null),className:"ml-auto",children:t(O,{className:"w-3.5 h-3.5"})})]}),a.length===0?p("div",{className:"border rounded-lg bg-card p-12 text-center",children:[t(w,{className:"w-16 h-16 mx-auto mb-4 opacity-25"}),t("h3",{className:"text-lg font-semibold mb-1",children:"\u6682\u65E0\u5F85\u529E"}),t("p",{className:"text-sm text-muted-foreground",children:"\u673A\u5668\u4EBA\u9700\u8981\u9A8C\u8BC1\u65F6\uFF0C\u5F85\u529E\u5C06\u663E\u793A\u5728\u6B64\u5904"})]}):t("div",{className:"space-y-4",children:a.map(e=>{let S=Fe[e.type]??{icon:t(w,{className:"w-4 h-4"}),label:e.type};return p("div",{className:"border rounded-lg bg-card p-4 shadow-sm",children:[p("div",{className:"flex items-start justify-between flex-wrap gap-2 mb-2",children:[p("div",{className:"flex items-center gap-2 font-semibold",children:[S.icon," ",S.label]}),p("div",{className:"flex gap-1 text-xs",children:[t("span",{className:"px-2 py-0.5 rounded border",children:e.adapter}),t("span",{className:"px-2 py-0.5 rounded bg-muted",children:e.endpointId})]})]}),e.payload?.message&&t("p",{className:"text-sm text-muted-foreground mb-3",children:e.payload.message}),e.type==="qrcode"&&e.payload?.image&&t("div",{className:"flex justify-center p-4 bg-muted/30 rounded-lg mb-3",children:t("img",{src:String(e.payload.image),alt:"\u767B\u5F55\u4E8C\u7EF4\u7801",className:"max-w-[200px] w-full h-auto"})}),(e.type==="slider"||e.type==="auth")&&e.payload?.url&&p("p",{className:"text-sm break-all mb-3",children:[t("span",{className:"text-muted-foreground",children:"\u9A8C\u8BC1\u94FE\u63A5\uFF1A"})," ",t("a",{href:String(e.payload.url),target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:String(e.payload.url)})]}),e.type==="auth"&&e.payload?.device&&typeof e.payload.device=="object"&&p("div",{className:"text-xs text-muted-foreground mb-3 space-y-1 rounded border p-3 bg-muted/20",children:[t("div",{className:"font-medium text-foreground",children:"\u8BBE\u5907\u4FE1\u606F\uFF08\u767B\u5F55\u7EED\u4F20\u7528\uFF09"}),Object.entries(e.payload.device).filter(([,d])=>d!=null&&String(d)!=="").map(([d,I])=>p("div",{children:[p("span",{className:"opacity-70",children:[d,": "]}),t("span",{className:"font-mono break-all",children:String(I)})]},d))]}),e.type==="auth"&&p("div",{className:"flex gap-2 mt-3",children:[t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u5B8C\u6210\u9A8C\u8BC1"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{W(e.id)},children:"\u53D6\u6D88"})]}),(e.type==="sms"||e.type==="device"||e.type==="slider")&&p("div",{className:"flex flex-wrap gap-2 items-center",children:[t("input",{className:"h-9 px-3 rounded-md border border-input bg-background text-sm max-w-[18rem] flex-1",placeholder:e.type==="slider"?"\u8F93\u5165 ticket":"\u8F93\u5165\u9A8C\u8BC1\u7801",value:x[e.id]??"",onChange:d=>l(I=>({...I,[e.id]:d.target.value})),onKeyDown:d=>{if(d.key==="Enter"){let I=x[e.id]?.trim();I&&P(e.id,e.type==="slider"?{ticket:I}:I)}}}),t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:n[e.id]||!x[e.id]?.trim(),onClick:()=>{let d=x[e.id]?.trim();d&&P(e.id,e.type==="slider"?{ticket:d}:d)},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u63D0\u4EA4"})]}),e.type==="qrcode"&&p("div",{className:"flex gap-2 mt-3",children:[t("button",{className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",disabled:!!n[e.id],onClick:()=>{P(e.id,{done:!0})},children:n[e.id]?"\u63D0\u4EA4\u4E2D\u2026":"\u6211\u5DF2\u626B\u7801"}),t("button",{className:"h-9 px-4 rounded-md border text-sm hover:bg-accent transition-colors",onClick:()=>{W(e.id)},children:"\u53D6\u6D88"})]})]},e.id)})})]})}import{Fragment as be,jsx as r,jsxs as c}from"react/jsx-runtime";function Z(){let[a,u]=z("overview"),[f,s]=z([]),[L,i]=z(!0),[n,h]=z(null),x=ye(async()=>{i(!0),h(null);try{let l=await M("/api/icqq/endpoints"),m=await l.json();if(!l.ok||!m.success)throw new Error(m.message||"\u52A0\u8F7D\u5931\u8D25");s(Array.isArray(m.data)?m.data:[])}catch(l){h(l.message),s([])}finally{i(!1)}},[]);return Re(()=>{a==="overview"&&x()},[a,x]),c("div",{className:"p-6 max-w-5xl mx-auto space-y-5",children:[c("div",{className:"flex items-center justify-between",children:[c("div",{children:[c("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[r(A,{className:"w-6 h-6"})," ICQQ \u7BA1\u7406"]}),r("p",{className:"text-sm text-muted-foreground mt-1",children:"\u673A\u5668\u4EBA\u6982\u89C8\u4E0E\u767B\u5F55\u8F85\u52A9\uFF08\u626B\u7801 / \u9A8C\u8BC1\u7801 / \u6ED1\u5757\uFF09"})]}),a==="overview"&&c("button",{onClick:x,disabled:L,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-blue-500 text-white hover:bg-blue-600 disabled:opacity-50 text-sm",children:[r(T,{className:`w-4 h-4 ${L?"animate-spin":""}`})," \u5237\u65B0"]})]}),c("div",{className:"flex gap-1 border-b",children:[r("button",{onClick:()=>u("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="overview"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:c("span",{className:"flex items-center gap-1.5",children:[r(A,{className:"w-4 h-4"})," \u6982\u89C8"]})}),r("button",{onClick:()=>u("login"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${a==="login"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:c("span",{className:"flex items-center gap-1.5",children:[r(w,{className:"w-4 h-4"})," \u767B\u5F55\u8F85\u52A9"]})})]}),a==="overview"&&c(be,{children:[n&&r("div",{className:"p-3 bg-red-50 text-red-600 rounded border border-red-200 text-sm dark:bg-red-900/20 dark:text-red-400 dark:border-red-800",children:n}),L?r("div",{className:"flex justify-center py-12",children:r(C,{className:"w-6 h-6 animate-spin text-blue-500"})}):f.length===0?r("div",{className:"text-center text-muted-foreground py-12",children:"\u6682\u65E0 ICQQ Endpoint \u5B9E\u4F8B"}):r("div",{className:"grid gap-4 md:grid-cols-2",children:f.map(l=>c("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[c("div",{className:"flex items-center justify-between mb-3",children:[r("span",{className:"font-medium text-lg",children:l.name}),l.connected?c("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[r(U,{className:"w-4 h-4"})," \u5728\u7EBF"]}):c("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[r(v,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),c("div",{className:"space-y-2 text-sm text-muted-foreground",children:[c("div",{className:"flex items-center gap-1.5",children:[r(q,{className:"w-3.5 h-3.5"}),"\u7FA4 ",l.groupCount," \xB7 \u597D\u53CB ",l.friendCount]}),c("div",{className:"flex items-center gap-1.5",children:[r(F,{className:"w-3.5 h-3.5"}),"\u767B\u5F55\u65B9\u5F0F ",l.loginMode," \xB7 ",l.status]})]})]},l.name))})]}),a==="login"&&r(K,{})]})}function dt(a){a.addRoute({path:"/console/icqq",name:"ICQQ\u7BA1\u7406",element:a.React.createElement(Z,{hostReact:a.React})}),a.addTool({id:"icqq",name:"ICQQ",path:"/console/icqq"})}export{dt as register};
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs:
|
|
@@ -26,7 +26,7 @@ lucide-react/dist/esm/icons/wifi.mjs:
|
|
|
26
26
|
lucide-react/dist/esm/icons/x.mjs:
|
|
27
27
|
lucide-react/dist/esm/lucide-react.mjs:
|
|
28
28
|
(**
|
|
29
|
-
* @license lucide-react v1.
|
|
29
|
+
* @license lucide-react v1.23.0 - ISC
|
|
30
30
|
*
|
|
31
31
|
* This source code is licensed under the ISC license.
|
|
32
32
|
* See the LICENSE file in the root directory of this source tree.
|
package/lib/adapter.d.ts
CHANGED
|
@@ -7,6 +7,13 @@ import type { IcqqEndpointConfig } from "./types.js";
|
|
|
7
7
|
export declare class IcqqAdapter extends Adapter<IcqqEndpoint> {
|
|
8
8
|
static readonly capabilities: readonly ["inbound", "outbound"];
|
|
9
9
|
static outboundRichSegmentPolicy: import("zhin.js").OutboundRichSegmentPolicy;
|
|
10
|
+
static interactivePolicy: "text";
|
|
11
|
+
static aiOutboundCapabilities: {
|
|
12
|
+
mentions: boolean;
|
|
13
|
+
richSegments: string[];
|
|
14
|
+
interactive: "text";
|
|
15
|
+
};
|
|
16
|
+
static aiOutboundExtensions: import("zhin.js").AiOutboundExtensionDefinition[];
|
|
10
17
|
constructor(plugin: Plugin);
|
|
11
18
|
getOutboundMediaCapabilities(): {
|
|
12
19
|
image: boolean;
|
|
@@ -19,12 +26,12 @@ export declare class IcqqAdapter extends Adapter<IcqqEndpoint> {
|
|
|
19
26
|
start(): Promise<void>;
|
|
20
27
|
stop(): Promise<void>;
|
|
21
28
|
private getEndpoint;
|
|
22
|
-
|
|
29
|
+
removeMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
|
|
23
30
|
muteMember(endpointId: string, sceneId: string, userId: string, duration?: number): Promise<boolean>;
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
setSceneMuted(endpointId: string, sceneId: string, enable?: boolean): Promise<boolean>;
|
|
32
|
+
setModerator(endpointId: string, sceneId: string, userId: string, enable?: boolean): Promise<boolean>;
|
|
26
33
|
setMemberNickname(endpointId: string, sceneId: string, userId: string, nickname: string): Promise<boolean>;
|
|
27
|
-
|
|
34
|
+
renameScene(endpointId: string, sceneId: string, name: string): Promise<boolean>;
|
|
28
35
|
listMembers(endpointId: string, sceneId: string): Promise<{
|
|
29
36
|
members: {
|
|
30
37
|
user_id: number;
|
package/lib/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,OAAO,EAAE,MAAM,EAA+E,MAAM,SAAS,CAAC;AACtI,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,YAAY,CAAC;AAGpE,qBAAa,WAAY,SAAQ,OAAO,CAAC,YAAY,CAAC;IACpD,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,8CAAwC;IACjF,OAAgB,iBAAiB,EAAG,MAAM,CAAU;IACpD,OAAgB,sBAAsB;;;;MAIpC;IACF,OAAgB,oBAAoB,oDAA2C;gBAEnE,MAAM,EAAE,MAAM;IAI1B,4BAA4B;;;;;;;IAU5B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,OAAO,CAAC,WAAW;IAMb,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAWhE,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,SAAM;IAYV,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO;IAUhE,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,UAAO;IAYT,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAYZ,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU7D,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;CAiBtD"}
|
package/lib/adapter.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ICQQ 适配器 — 通过 @icqqjs/cli 守护进程 IPC 管理 Endpoint 实例
|
|
3
3
|
*/
|
|
4
|
-
import { formatCompact, Adapter, OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL } from 'zhin.js';
|
|
4
|
+
import { formatCompact, Adapter, OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL, ONEBOT_KEYBOARD_AI_OUTBOUND_EXTENSION } from 'zhin.js';
|
|
5
5
|
import { IcqqEndpoint } from "./endpoint.js";
|
|
6
6
|
import { Actions } from "./protocol.js";
|
|
7
7
|
export class IcqqAdapter extends Adapter {
|
|
8
8
|
static capabilities = ['inbound', 'outbound'];
|
|
9
9
|
static outboundRichSegmentPolicy = OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL;
|
|
10
|
+
static interactivePolicy = 'text';
|
|
11
|
+
static aiOutboundCapabilities = {
|
|
12
|
+
mentions: true,
|
|
13
|
+
richSegments: ['qrcode', 'html', 'markdown', 'tts'],
|
|
14
|
+
interactive: 'text',
|
|
15
|
+
};
|
|
16
|
+
static aiOutboundExtensions = [ONEBOT_KEYBOARD_AI_OUTBOUND_EXTENSION];
|
|
10
17
|
constructor(plugin) {
|
|
11
18
|
super(plugin, "icqq", []);
|
|
12
19
|
}
|
|
@@ -29,14 +36,14 @@ export class IcqqAdapter extends Adapter {
|
|
|
29
36
|
await super.stop();
|
|
30
37
|
this.logger.debug(formatCompact({ stop: true }));
|
|
31
38
|
}
|
|
32
|
-
// ──
|
|
39
|
+
// ── ISceneManagement 标准群管方法(通过 IPC) ─────────────────────
|
|
33
40
|
getEndpoint(endpointId) {
|
|
34
41
|
const endpoint = this.endpoints.get(endpointId);
|
|
35
42
|
if (!endpoint)
|
|
36
43
|
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
37
44
|
return endpoint;
|
|
38
45
|
}
|
|
39
|
-
async
|
|
46
|
+
async removeMember(endpointId, sceneId, userId) {
|
|
40
47
|
const endpoint = this.getEndpoint(endpointId);
|
|
41
48
|
const resp = await endpoint.ipc.request(Actions.GROUP_KICK, {
|
|
42
49
|
group_id: Number(sceneId),
|
|
@@ -58,7 +65,7 @@ export class IcqqAdapter extends Adapter {
|
|
|
58
65
|
throw new Error(resp.error ?? "禁言失败");
|
|
59
66
|
return true;
|
|
60
67
|
}
|
|
61
|
-
async
|
|
68
|
+
async setSceneMuted(endpointId, sceneId, enable = true) {
|
|
62
69
|
const endpoint = this.getEndpoint(endpointId);
|
|
63
70
|
const resp = await endpoint.ipc.request(Actions.GROUP_MUTE_ALL, {
|
|
64
71
|
group_id: Number(sceneId),
|
|
@@ -68,7 +75,7 @@ export class IcqqAdapter extends Adapter {
|
|
|
68
75
|
throw new Error(resp.error ?? "全员禁言失败");
|
|
69
76
|
return true;
|
|
70
77
|
}
|
|
71
|
-
async
|
|
78
|
+
async setModerator(endpointId, sceneId, userId, enable = true) {
|
|
72
79
|
const endpoint = this.getEndpoint(endpointId);
|
|
73
80
|
const resp = await endpoint.ipc.request(Actions.SET_GROUP_ADMIN, {
|
|
74
81
|
group_id: Number(sceneId),
|
|
@@ -90,7 +97,7 @@ export class IcqqAdapter extends Adapter {
|
|
|
90
97
|
throw new Error(resp.error ?? "设置群名片失败");
|
|
91
98
|
return true;
|
|
92
99
|
}
|
|
93
|
-
async
|
|
100
|
+
async renameScene(endpointId, sceneId, name) {
|
|
94
101
|
const endpoint = this.getEndpoint(endpointId);
|
|
95
102
|
const resp = await endpoint.ipc.request(Actions.SET_GROUP_NAME, {
|
|
96
103
|
group_id: Number(sceneId),
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAU,oCAAoC,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/cq-message.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cq-message.d.ts","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,SAAS,CAAC;AAyC/D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAkC5D;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAIhE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"cq-message.d.ts","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,SAAS,CAAC;AAyC/D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAkC5D;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAIhE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA0DvD"}
|
package/lib/cq-message.js
CHANGED
|
@@ -34,7 +34,7 @@ function pushCqSegment(segments, type, arg) {
|
|
|
34
34
|
segments.push({ type: "video", data: { file: arg } });
|
|
35
35
|
break;
|
|
36
36
|
case "reply":
|
|
37
|
-
segments.push({ type: "reply", data: {
|
|
37
|
+
segments.push({ type: "reply", data: { message_id: arg } });
|
|
38
38
|
break;
|
|
39
39
|
default:
|
|
40
40
|
segments.push({ type, data: { text: `[${type}:${arg}]` } });
|
|
@@ -96,6 +96,12 @@ export function toCqString(content) {
|
|
|
96
96
|
case "face":
|
|
97
97
|
return `[face:${data.id}]`;
|
|
98
98
|
case "image": {
|
|
99
|
+
const media = data.media;
|
|
100
|
+
if (media?.value) {
|
|
101
|
+
if (media.kind === "base64")
|
|
102
|
+
return `[image:base64://${media.value}]`;
|
|
103
|
+
return `[image:${media.value}]`;
|
|
104
|
+
}
|
|
99
105
|
const b64 = typeof data.base64 === "string"
|
|
100
106
|
? data.base64
|
|
101
107
|
: typeof data.data === "string"
|
|
@@ -106,7 +112,10 @@ export function toCqString(content) {
|
|
|
106
112
|
return `[image:${data.file || data.url || data.src}]`;
|
|
107
113
|
}
|
|
108
114
|
case "at":
|
|
109
|
-
|
|
115
|
+
case "mention": {
|
|
116
|
+
const target = data.target ?? data.qq ?? data.id ?? data.user_id;
|
|
117
|
+
return `[at:${target}]`;
|
|
118
|
+
}
|
|
110
119
|
case "dice":
|
|
111
120
|
return "[dice]";
|
|
112
121
|
case "rps":
|
|
@@ -129,7 +138,7 @@ export function toCqString(content) {
|
|
|
129
138
|
return `[video:${data.file || data.url}]`;
|
|
130
139
|
}
|
|
131
140
|
case "reply":
|
|
132
|
-
return `[reply:${data.id}]`;
|
|
141
|
+
return `[reply:${data.message_id ?? data.id}]`;
|
|
133
142
|
default:
|
|
134
143
|
return segment.toString(seg);
|
|
135
144
|
}
|
package/lib/cq-message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cq-message.js","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAkB,OAAO,EAAe,MAAM,SAAS,CAAC;AAE/D,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC,SAAS,aAAa,CAAC,QAA0B,EAAE,IAAY,EAAE,GAAW;IAC1E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM;QACR,KAAK,OAAO;YACV,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,IAAI;YACP,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,KAAK;YACR,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM;QACR,KAAK,OAAO;YACV,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,OAAO;YACV,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"cq-message.js","sourceRoot":"","sources":["../src/cq-message.ts"],"names":[],"mappings":"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"}
|
package/lib/endpoint.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { IpcClient } from "./ipc-client.js";
|
|
|
11
11
|
import type { IcqqIpcMessageEvent } from "./icqq-inbound.js";
|
|
12
12
|
import { type NormalizedIcqqInbound } from "./icqq-inbound.js";
|
|
13
13
|
import { buildIcqqIpcMessage as buildIcqqIpcMessageImpl, parseCqMessage as parseCqMessageImpl, toCqString as toCqStringImpl } from "./cq-message.js";
|
|
14
|
-
import {
|
|
14
|
+
import { IcqqGuildCatalog } from "./icqq-guild.js";
|
|
15
15
|
export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIpcMessageEvent> {
|
|
16
16
|
adapter: IcqqAdapter;
|
|
17
17
|
$connected: boolean;
|
|
@@ -21,6 +21,8 @@ export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIp
|
|
|
21
21
|
friends: Map<number, IpcFriendInfo>;
|
|
22
22
|
/** 缓存的群列表 */
|
|
23
23
|
groups: Map<number, IpcGroupInfo>;
|
|
24
|
+
/** QQ 频道(guild)子频道缓存 */
|
|
25
|
+
readonly guildCatalog: IcqqGuildCatalog;
|
|
24
26
|
private subscriptions;
|
|
25
27
|
/** 事件去重:覆盖多端回流/服务端重复推送等场景 */
|
|
26
28
|
private readonly inboundDeduper;
|
|
@@ -30,17 +32,10 @@ export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIp
|
|
|
30
32
|
private intentionalDisconnect;
|
|
31
33
|
/** 是否已有重连循环在跑(避免多次 schedule 叠套) */
|
|
32
34
|
private reconnectRunning;
|
|
33
|
-
/** Typing Indicator 管理器 */
|
|
34
|
-
$typingIndicator?: ICQQTypingIndicatorManager;
|
|
35
35
|
get $id(): `${number}`;
|
|
36
36
|
get logger(): import("zhin.js").Logger;
|
|
37
37
|
constructor(adapter: IcqqAdapter, config: IcqqEndpointConfig);
|
|
38
38
|
$connect(): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* 初始化 Typing Indicator
|
|
41
|
-
* 根据配置自动启用或禁用
|
|
42
|
-
*/
|
|
43
|
-
private initTypingIndicator;
|
|
44
39
|
/** 建立或恢复与守护进程的 IPC/RPC 会话(订阅、缓存列表) */
|
|
45
40
|
private rebindIpcSession;
|
|
46
41
|
/** IPC/RPC 意外断开时调度重连(指数退避) */
|
|
@@ -48,9 +43,18 @@ export declare class IcqqEndpoint implements Endpoint<IcqqEndpointConfig, IcqqIp
|
|
|
48
43
|
private runReconnectLoop;
|
|
49
44
|
/** 刷新好友/群列表缓存 */
|
|
50
45
|
refreshLists(): Promise<void>;
|
|
46
|
+
/** Console:列出 guild 子频道(含 parent.guild) */
|
|
47
|
+
getGuildChannelList(): ReturnType<IcqqGuildCatalog["getGuildChannelList"]>;
|
|
48
|
+
resolveConsoleChannelNames(channelId: string, guildId?: string): {
|
|
49
|
+
channelName?: string;
|
|
50
|
+
parentName?: string;
|
|
51
|
+
};
|
|
51
52
|
$disconnect(): Promise<void>;
|
|
52
53
|
private handleEvent;
|
|
53
54
|
private dispatchInboundMessage;
|
|
55
|
+
private handleGuildMessageEvent;
|
|
56
|
+
private dispatchGuildInboundMessage;
|
|
57
|
+
private $formatGuildMessage;
|
|
54
58
|
private handleNoticeEvent;
|
|
55
59
|
private handleRequestEvent;
|
|
56
60
|
private handleMetaEvent;
|
package/lib/endpoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAiB,QAAQ,EAAE,OAAO,EAAwB,WAAW,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|