@zhin.js/adapter-kook 5.0.0 → 5.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 +15 -0
- package/dist/index.js +2 -2
- package/lib/adapter.d.ts +2 -1
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +3 -2
- package/lib/adapter.js.map +1 -1
- package/lib/endpoint.d.ts.map +1 -1
- package/lib/endpoint.js +17 -4
- package/lib/endpoint.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/kook-side-events.d.ts +4 -1
- package/lib/kook-side-events.d.ts.map +1 -1
- package/lib/kook-side-events.js +43 -1
- package/lib/kook-side-events.js.map +1 -1
- package/lib/outbound-keyboard.d.ts +13 -0
- package/lib/outbound-keyboard.d.ts.map +1 -0
- package/lib/outbound-keyboard.js +63 -0
- package/lib/outbound-keyboard.js.map +1 -0
- package/lib/outbound-sendable.d.ts +2 -1
- package/lib/outbound-sendable.d.ts.map +1 -1
- package/lib/outbound-sendable.js +9 -0
- package/lib/outbound-sendable.js.map +1 -1
- package/lib/platform-permit.js +2 -2
- 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/package.json +15 -15
- package/skills/kook/PERMITS.md +1 -1
- package/src/adapter.ts +3 -2
- package/src/endpoint.ts +20 -2
- package/src/index.ts +4 -4
- package/src/kook-side-events.ts +49 -1
- package/src/outbound-keyboard.ts +78 -0
- package/src/outbound-sendable.ts +13 -1
- package/src/platform-permit.ts +2 -2
- package/src/segment-mapper.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @zhin.js/adapter-kook
|
|
2
2
|
|
|
3
|
+
## 5.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5cc9c03: fix: ai 优化
|
|
8
|
+
- b9b3881: fix: 增加游戏引擎以及部分游戏
|
|
9
|
+
- Updated dependencies [5cc9c03]
|
|
10
|
+
- Updated dependencies [7700903]
|
|
11
|
+
- @zhin.js/logger@1.0.73
|
|
12
|
+
- @zhin.js/client@2.0.4
|
|
13
|
+
- @zhin.js/contract@1.0.2
|
|
14
|
+
- @zhin.js/host-api@2.0.4
|
|
15
|
+
- @zhin.js/host-router@2.0.2
|
|
16
|
+
- zhin.js@4.1.1
|
|
17
|
+
|
|
3
18
|
## 5.0.0
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useEffect as Fe,useState as p,useCallback as De}from"react";var Y="zhin_api_token",se="zhin_api_base";function re(){let t=localStorage.getItem(se)?.trim();return t?t.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function ie(){return localStorage.getItem(Y)}async function S(t,u){let f=ie(),s=new Headers(u?.headers);f&&s.set("Authorization",`Bearer ${f}`);let m=re(),l=typeof t=="string"&&t.startsWith("/")?`${m}${t}`:t,L=await fetch(l,{...u,headers:s});return L.status===401&&(localStorage.removeItem(Y),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),L}import{forwardRef as Le,createElement as Ie}from"react";var O=(...t)=>t.filter((u,f,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===f).join(" ").trim();var ee=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var ae=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,f,s)=>s?s.toUpperCase():f.toLowerCase());var E=t=>{let u=ae(t);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as me,createElement as ue}from"react";var H={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 te=t=>{for(let u in t)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as ce,useContext as ne,useMemo as We,createElement as Ee}from"react";var pe=ce({});var oe=()=>ne(pe);var de=me(({color:t,size:u,strokeWidth:f,absoluteStrokeWidth:s,className:m="",children:l,iconNode:L,...g},b)=>{let{size:C=24,strokeWidth:r=2,absoluteStrokeWidth:G=!1,color:c="currentColor",className:W=""}=oe()??{},h=s??G?Number(f??r)*24/Number(u??C):f??r;return ue("svg",{ref:b,...H,width:u??C??H.width,height:u??C??H.height,stroke:t??c,strokeWidth:h,className:O("lucide",W,m),...!l&&!te(g)&&{"aria-hidden":"true"},...g},[...L.map(([k,x])=>ue(k,x)),...Array.isArray(l)?l:[l]])});var d=(t,u)=>{let f=Le(({className:s,...m},l)=>Ie(de,{ref:l,iconNode:u,className:O(`lucide-${ee(E(t))}`,`lucide-${t}`,s),...m}));return f.displayName=E(t),f};var xe=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],n=d("loader-circle",xe);var Ce=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],w=d("plus",Ce);var he=[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],P=d("power-off",he);var Se=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],A=d("power",Se);var ge=[["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"}]],B=d("refresh-cw",ge);var ke=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],M=d("server",ke);var we=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],F=d("shield",we);var Pe=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],D=d("trash-2",Pe);var Ae=[["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"}]],y=d("wifi-off",Ae);var Be=[["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"}]],R=d("wifi",Be);var Me=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],T=d("x",Me);import{Fragment as ye,jsx as a,jsxs as o}from"react/jsx-runtime";function V(){let[t,u]=p([]),[f,s]=p(!0),[m,l]=p(""),[L,g]=p("overview"),[b,C]=p({}),[r,G]=p(""),[c,W]=p(""),[h,k]=p([]),[x,N]=p(!1),[q,z]=p(""),[X,K]=p(!1),[Z,Q]=p(null),v=De(async()=>{s(!0),l("");try{let i=await(await S("/api/kook/endpoints")).json();i.success?u(i.data):l(i.error||"\u83B7\u53D6\u6570\u636E\u5931\u8D25")}catch{l("\u65E0\u6CD5\u8FDE\u63A5\u670D\u52A1\u5668")}finally{s(!1)}},[]);Fe(()=>{v()},[v]);let le=async(e,i)=>{C(I=>({...I,[e]:!0}));try{let I=i?"disconnect":"connect",U=await(await S(`/api/kook/endpoints/${encodeURIComponent(e)}/${I}`,{method:"POST"})).json();U.success||l(U.error||"\u64CD\u4F5C\u5931\u8D25"),await v()}catch{l("\u64CD\u4F5C\u5931\u8D25")}finally{C(I=>({...I,[e]:!1}))}},J=async()=>{if(!(!r||!c)){N(!0),k([]);try{let i=await(await S(`/api/kook/endpoints/${encodeURIComponent(r)}/guilds/${encodeURIComponent(c)}/roles`)).json();i.success?k(i.data):l(i.error||"\u83B7\u53D6\u89D2\u8272\u5931\u8D25")}catch{l("\u83B7\u53D6\u89D2\u8272\u5931\u8D25")}finally{N(!1)}}},_=async()=>{if(!(!r||!c||!q.trim())){K(!0);try{let i=await(await S(`/api/kook/endpoints/${encodeURIComponent(r)}/guilds/${encodeURIComponent(c)}/roles`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:q.trim()})})).json();i.success?(z(""),await J()):l(i.error||"\u521B\u5EFA\u89D2\u8272\u5931\u8D25")}catch{l("\u521B\u5EFA\u89D2\u8272\u5931\u8D25")}finally{K(!1)}}},fe=async e=>{if(!(!r||!c)){Q(e);try{let I=await(await S(`/api/kook/endpoints/${encodeURIComponent(r)}/guilds/${encodeURIComponent(c)}/roles/${encodeURIComponent(e)}`,{method:"DELETE"})).json();I.success?k($=>$.filter(U=>U.id!==e)):l(I.error||"\u5220\u9664\u89D2\u8272\u5931\u8D25")}catch{l("\u5220\u9664\u89D2\u8272\u5931\u8D25")}finally{Q(null)}}},j=t.filter(e=>e.connected);return o("div",{className:"p-6 max-w-5xl mx-auto",children:[o("div",{className:"flex items-center justify-between mb-6",children:[o("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[a(M,{className:"w-6 h-6"})," KOOK \u673A\u5668\u4EBA"]}),o("button",{onClick:v,disabled:f,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-sky-500 text-white hover:bg-sky-600 disabled:opacity-50 text-sm",children:[a(B,{className:`w-4 h-4 ${f?"animate-spin":""}`})," \u5237\u65B0"]})]}),m&&o("div",{className:"mb-4 p-3 bg-red-50 text-red-600 rounded border border-red-200 flex items-center justify-between",children:[a("span",{children:m}),a("button",{onClick:()=>l(""),className:"text-red-400 hover:text-red-600",children:a(T,{className:"w-4 h-4"})})]}),o("div",{className:"flex gap-1 mb-6 border-b",children:[a("button",{onClick:()=>g("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${L==="overview"?"border-sky-500 text-sky-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u6982\u89C8"}),a("button",{onClick:()=>g("roles"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${L==="roles"?"border-sky-500 text-sky-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u89D2\u8272\u7BA1\u7406"})]}),L==="overview"&&o(ye,{children:[!f&&!t.length&&!m&&a("div",{className:"text-center text-gray-500 py-12",children:"\u6682\u65E0 KOOK Endpoint \u5B9E\u4F8B"}),a("div",{className:"grid gap-4 md:grid-cols-2",children:t.map(e=>o("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[o("div",{className:"flex items-center justify-between mb-3",children:[a("span",{className:"font-medium text-lg",children:e.name}),e.connected?o("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[a(R,{className:"w-4 h-4"})," \u5728\u7EBF"]}):o("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[a(y,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),a("div",{className:"text-sm text-gray-600 mb-3",children:o("div",{className:"flex justify-between",children:[a("span",{children:"\u670D\u52A1\u5668"}),a("span",{className:"font-mono",children:e.guildCount})]})}),o("button",{onClick:()=>le(e.name,e.connected),disabled:b[e.name],className:`flex items-center gap-1 px-3 py-1.5 rounded text-sm text-white ${e.connected?"bg-red-500 hover:bg-red-600":"bg-green-500 hover:bg-green-600"} disabled:opacity-50`,children:[b[e.name]?a(n,{className:"w-3.5 h-3.5 animate-spin"}):e.connected?a(P,{className:"w-3.5 h-3.5"}):a(A,{className:"w-3.5 h-3.5"}),e.connected?"\u65AD\u5F00":"\u8FDE\u63A5"]})]},e.name))})]}),L==="roles"&&o("div",{className:"space-y-4",children:[o("div",{className:"flex flex-wrap items-end gap-3",children:[o("div",{children:[a("label",{className:"block text-xs text-gray-500 mb-1",children:"\u673A\u5668\u4EBA"}),o("select",{value:r,onChange:e=>G(e.target.value),className:"border rounded px-2 py-1.5 text-sm min-w-[140px]",children:[a("option",{value:"",children:"--"}),j.map(e=>a("option",{value:e.name,children:e.name},e.name))]})]}),o("div",{children:[a("label",{className:"block text-xs text-gray-500 mb-1",children:"\u670D\u52A1\u5668 ID"}),a("input",{value:c,onChange:e=>W(e.target.value),placeholder:"\u8F93\u5165\u670D\u52A1\u5668 ID",className:"border rounded px-2 py-1.5 text-sm w-[180px]"})]}),o("button",{onClick:J,disabled:!r||!c||x,className:"px-3 py-1.5 rounded bg-sky-500 text-white text-sm hover:bg-sky-600 disabled:opacity-50 flex items-center gap-1",children:[x?a(n,{className:"w-3.5 h-3.5 animate-spin"}):a(F,{className:"w-3.5 h-3.5"})," \u67E5\u8BE2\u89D2\u8272"]})]}),!j.length&&a("div",{className:"text-center text-gray-500 py-4",children:"\u6682\u65E0\u5728\u7EBF Endpoint"}),r&&c&&h.length>0&&o("div",{className:"flex items-center gap-2",children:[a("input",{value:q,onChange:e=>z(e.target.value),placeholder:"\u65B0\u89D2\u8272\u540D\u79F0",className:"border rounded px-2 py-1.5 text-sm flex-1 max-w-[240px]",onKeyDown:e=>e.key==="Enter"&&_()}),o("button",{onClick:_,disabled:X||!q.trim(),className:"px-3 py-1.5 rounded bg-green-500 text-white text-sm hover:bg-green-600 disabled:opacity-50 flex items-center gap-1",children:[X?a(n,{className:"w-3.5 h-3.5 animate-spin"}):a(w,{className:"w-3.5 h-3.5"})," \u521B\u5EFA"]})]}),x&&a("div",{className:"flex justify-center py-8",children:a(n,{className:"w-6 h-6 animate-spin text-sky-500"})}),!x&&h.length>0&&a("div",{className:"border rounded-lg bg-card shadow-sm divide-y",children:h.map(e=>o("div",{className:"flex items-center px-4 py-2.5 hover:bg-gray-50",children:[a("div",{className:"w-3 h-3 rounded-full mr-3",style:{backgroundColor:e.color?`#${e.color.toString(16).padStart(6,"0")}`:"#999"}}),a("span",{className:"font-medium text-sm flex-1",children:e.name}),o("span",{className:"text-xs text-gray-400 mr-4",children:["ID: ",e.id]}),a("button",{onClick:()=>fe(e.id),disabled:Z===e.id,className:"text-gray-400 hover:text-red-500 disabled:opacity-50",children:Z===e.id?a(n,{className:"w-4 h-4 animate-spin"}):a(D,{className:"w-4 h-4"})})]},e.id))}),!x&&r&&c&&!h.length&&a("div",{className:"text-center text-gray-400 py-6",children:"\u6682\u65E0\u89D2\u8272\u6570\u636E\uFF0C\u8BF7\u5148\u67E5\u8BE2"})]})]})}function Ea(t){t.addRoute({path:"/kook",name:"KOOK",element:t.React.createElement(V,{hostReact:t.React})}),t.addTool({id:"kook",name:"KOOK",path:"/kook"})}export{Ea as register};
|
|
1
|
+
import{useEffect as De,useState as p,useCallback as Fe}from"react";var Y="zhin_api_token",se="zhin_api_base";function re(){let t=localStorage.getItem(se)?.trim();return t?t.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function ie(){return localStorage.getItem(Y)}async function S(t,u){let f=ie(),s=new Headers(u?.headers);f&&s.set("Authorization",`Bearer ${f}`);let m=re(),l=typeof t=="string"&&t.startsWith("/")?`${m}${t}`:t,L=await fetch(l,{...u,headers:s});return L.status===401&&(localStorage.removeItem(Y),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),L}import{forwardRef as Le,createElement as Ie}from"react";var O=(...t)=>t.filter((u,f,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===f).join(" ").trim();var ee=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var ae=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,f,s)=>s?s.toUpperCase():f.toLowerCase());var E=t=>{let u=ae(t);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as me,createElement as ue}from"react";var H={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 te=t=>{for(let u in t)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as ce,useContext as ne,useMemo as We,createElement as Ee}from"react";var pe=ce({});var oe=()=>ne(pe);var de=me(({color:t,size:u,strokeWidth:f,absoluteStrokeWidth:s,className:m="",children:l,iconNode:L,...g},b)=>{let{size:C=24,strokeWidth:r=2,absoluteStrokeWidth:G=!1,color:c="currentColor",className:W=""}=oe()??{},h=s??G?Number(f??r)*24/Number(u??C):f??r;return ue("svg",{ref:b,...H,width:u??C??H.width,height:u??C??H.height,stroke:t??c,strokeWidth:h,className:O("lucide",W,m),...!l&&!te(g)&&{"aria-hidden":"true"},...g},[...L.map(([k,x])=>ue(k,x)),...Array.isArray(l)?l:[l]])});var d=(t,u)=>{let f=Le(({className:s,...m},l)=>Ie(de,{ref:l,iconNode:u,className:O(`lucide-${ee(E(t))}`,`lucide-${t}`,s),...m}));return f.displayName=E(t),f};var xe=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],n=d("loader-circle",xe);var Ce=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],w=d("plus",Ce);var he=[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],P=d("power-off",he);var Se=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],A=d("power",Se);var ge=[["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"}]],B=d("refresh-cw",ge);var ke=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],M=d("server",ke);var we=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],D=d("shield",we);var Pe=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],F=d("trash-2",Pe);var Ae=[["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"}]],y=d("wifi-off",Ae);var Be=[["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"}]],R=d("wifi",Be);var Me=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],T=d("x",Me);import{Fragment as ye,jsx as a,jsxs as o}from"react/jsx-runtime";function V(){let[t,u]=p([]),[f,s]=p(!0),[m,l]=p(""),[L,g]=p("overview"),[b,C]=p({}),[r,G]=p(""),[c,W]=p(""),[h,k]=p([]),[x,N]=p(!1),[q,z]=p(""),[X,K]=p(!1),[Z,Q]=p(null),v=Fe(async()=>{s(!0),l("");try{let i=await(await S("/api/kook/endpoints")).json();i.success?u(i.data):l(i.error||"\u83B7\u53D6\u6570\u636E\u5931\u8D25")}catch{l("\u65E0\u6CD5\u8FDE\u63A5\u670D\u52A1\u5668")}finally{s(!1)}},[]);De(()=>{v()},[v]);let le=async(e,i)=>{C(I=>({...I,[e]:!0}));try{let I=i?"disconnect":"connect",U=await(await S(`/api/kook/endpoints/${encodeURIComponent(e)}/${I}`,{method:"POST"})).json();U.success||l(U.error||"\u64CD\u4F5C\u5931\u8D25"),await v()}catch{l("\u64CD\u4F5C\u5931\u8D25")}finally{C(I=>({...I,[e]:!1}))}},J=async()=>{if(!(!r||!c)){N(!0),k([]);try{let i=await(await S(`/api/kook/endpoints/${encodeURIComponent(r)}/guilds/${encodeURIComponent(c)}/roles`)).json();i.success?k(i.data):l(i.error||"\u83B7\u53D6\u89D2\u8272\u5931\u8D25")}catch{l("\u83B7\u53D6\u89D2\u8272\u5931\u8D25")}finally{N(!1)}}},_=async()=>{if(!(!r||!c||!q.trim())){K(!0);try{let i=await(await S(`/api/kook/endpoints/${encodeURIComponent(r)}/guilds/${encodeURIComponent(c)}/roles`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:q.trim()})})).json();i.success?(z(""),await J()):l(i.error||"\u521B\u5EFA\u89D2\u8272\u5931\u8D25")}catch{l("\u521B\u5EFA\u89D2\u8272\u5931\u8D25")}finally{K(!1)}}},fe=async e=>{if(!(!r||!c)){Q(e);try{let I=await(await S(`/api/kook/endpoints/${encodeURIComponent(r)}/guilds/${encodeURIComponent(c)}/roles/${encodeURIComponent(e)}`,{method:"DELETE"})).json();I.success?k($=>$.filter(U=>U.id!==e)):l(I.error||"\u5220\u9664\u89D2\u8272\u5931\u8D25")}catch{l("\u5220\u9664\u89D2\u8272\u5931\u8D25")}finally{Q(null)}}},j=t.filter(e=>e.connected);return o("div",{className:"p-6 max-w-5xl mx-auto",children:[o("div",{className:"flex items-center justify-between mb-6",children:[o("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[a(M,{className:"w-6 h-6"})," KOOK \u673A\u5668\u4EBA"]}),o("button",{onClick:v,disabled:f,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-sky-500 text-white hover:bg-sky-600 disabled:opacity-50 text-sm",children:[a(B,{className:`w-4 h-4 ${f?"animate-spin":""}`})," \u5237\u65B0"]})]}),m&&o("div",{className:"mb-4 p-3 bg-red-50 text-red-600 rounded border border-red-200 flex items-center justify-between",children:[a("span",{children:m}),a("button",{onClick:()=>l(""),className:"text-red-400 hover:text-red-600",children:a(T,{className:"w-4 h-4"})})]}),o("div",{className:"flex gap-1 mb-6 border-b",children:[a("button",{onClick:()=>g("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${L==="overview"?"border-sky-500 text-sky-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u6982\u89C8"}),a("button",{onClick:()=>g("roles"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${L==="roles"?"border-sky-500 text-sky-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u89D2\u8272\u7BA1\u7406"})]}),L==="overview"&&o(ye,{children:[!f&&!t.length&&!m&&a("div",{className:"text-center text-gray-500 py-12",children:"\u6682\u65E0 KOOK Endpoint \u5B9E\u4F8B"}),a("div",{className:"grid gap-4 md:grid-cols-2",children:t.map(e=>o("div",{className:"border rounded-lg p-4 bg-card shadow-sm",children:[o("div",{className:"flex items-center justify-between mb-3",children:[a("span",{className:"font-medium text-lg",children:e.name}),e.connected?o("span",{className:"flex items-center gap-1 text-green-600 text-sm",children:[a(R,{className:"w-4 h-4"})," \u5728\u7EBF"]}):o("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[a(y,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),a("div",{className:"text-sm text-gray-600 mb-3",children:o("div",{className:"flex justify-between",children:[a("span",{children:"\u670D\u52A1\u5668"}),a("span",{className:"font-mono",children:e.guildCount})]})}),o("button",{onClick:()=>le(e.name,e.connected),disabled:b[e.name],className:`flex items-center gap-1 px-3 py-1.5 rounded text-sm text-white ${e.connected?"bg-red-500 hover:bg-red-600":"bg-green-500 hover:bg-green-600"} disabled:opacity-50`,children:[b[e.name]?a(n,{className:"w-3.5 h-3.5 animate-spin"}):e.connected?a(P,{className:"w-3.5 h-3.5"}):a(A,{className:"w-3.5 h-3.5"}),e.connected?"\u65AD\u5F00":"\u8FDE\u63A5"]})]},e.name))})]}),L==="roles"&&o("div",{className:"space-y-4",children:[o("div",{className:"flex flex-wrap items-end gap-3",children:[o("div",{children:[a("label",{className:"block text-xs text-gray-500 mb-1",children:"\u673A\u5668\u4EBA"}),o("select",{value:r,onChange:e=>G(e.target.value),className:"border rounded px-2 py-1.5 text-sm min-w-[140px]",children:[a("option",{value:"",children:"--"}),j.map(e=>a("option",{value:e.name,children:e.name},e.name))]})]}),o("div",{children:[a("label",{className:"block text-xs text-gray-500 mb-1",children:"\u670D\u52A1\u5668 ID"}),a("input",{value:c,onChange:e=>W(e.target.value),placeholder:"\u8F93\u5165\u670D\u52A1\u5668 ID",className:"border rounded px-2 py-1.5 text-sm w-[180px]"})]}),o("button",{onClick:J,disabled:!r||!c||x,className:"px-3 py-1.5 rounded bg-sky-500 text-white text-sm hover:bg-sky-600 disabled:opacity-50 flex items-center gap-1",children:[x?a(n,{className:"w-3.5 h-3.5 animate-spin"}):a(D,{className:"w-3.5 h-3.5"})," \u67E5\u8BE2\u89D2\u8272"]})]}),!j.length&&a("div",{className:"text-center text-gray-500 py-4",children:"\u6682\u65E0\u5728\u7EBF Endpoint"}),r&&c&&h.length>0&&o("div",{className:"flex items-center gap-2",children:[a("input",{value:q,onChange:e=>z(e.target.value),placeholder:"\u65B0\u89D2\u8272\u540D\u79F0",className:"border rounded px-2 py-1.5 text-sm flex-1 max-w-[240px]",onKeyDown:e=>e.key==="Enter"&&_()}),o("button",{onClick:_,disabled:X||!q.trim(),className:"px-3 py-1.5 rounded bg-green-500 text-white text-sm hover:bg-green-600 disabled:opacity-50 flex items-center gap-1",children:[X?a(n,{className:"w-3.5 h-3.5 animate-spin"}):a(w,{className:"w-3.5 h-3.5"})," \u521B\u5EFA"]})]}),x&&a("div",{className:"flex justify-center py-8",children:a(n,{className:"w-6 h-6 animate-spin text-sky-500"})}),!x&&h.length>0&&a("div",{className:"border rounded-lg bg-card shadow-sm divide-y",children:h.map(e=>o("div",{className:"flex items-center px-4 py-2.5 hover:bg-gray-50",children:[a("div",{className:"w-3 h-3 rounded-full mr-3",style:{backgroundColor:e.color?`#${e.color.toString(16).padStart(6,"0")}`:"#999"}}),a("span",{className:"font-medium text-sm flex-1",children:e.name}),o("span",{className:"text-xs text-gray-400 mr-4",children:["ID: ",e.id]}),a("button",{onClick:()=>fe(e.id),disabled:Z===e.id,className:"text-gray-400 hover:text-red-500 disabled:opacity-50",children:Z===e.id?a(n,{className:"w-4 h-4 animate-spin"}):a(F,{className:"w-4 h-4"})})]},e.id))}),!x&&r&&c&&!h.length&&a("div",{className:"text-center text-gray-400 py-6",children:"\u6682\u65E0\u89D2\u8272\u6570\u636E\uFF0C\u8BF7\u5148\u67E5\u8BE2"})]})]})}function Ea(t){t.addRoute({path:"/kook",name:"KOOK",element:t.React.createElement(V,{hostReact:t.React})}),t.addTool({id:"kook",name:"KOOK",path:"/kook"})}export{Ea as register};
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs:
|
|
@@ -23,7 +23,7 @@ lucide-react/dist/esm/icons/wifi.mjs:
|
|
|
23
23
|
lucide-react/dist/esm/icons/x.mjs:
|
|
24
24
|
lucide-react/dist/esm/lucide-react.mjs:
|
|
25
25
|
(**
|
|
26
|
-
* @license lucide-react v1.
|
|
26
|
+
* @license lucide-react v1.23.0 - ISC
|
|
27
27
|
*
|
|
28
28
|
* This source code is licensed under the ISC license.
|
|
29
29
|
* See the LICENSE file in the root directory of this source tree.
|
package/lib/adapter.d.ts
CHANGED
|
@@ -8,9 +8,10 @@ import type { OutboundRichSegmentPolicy } from "zhin.js";
|
|
|
8
8
|
export declare class KookAdapter extends Adapter<KookEndpoint> {
|
|
9
9
|
static readonly capabilities: readonly ["inbound", "outbound"];
|
|
10
10
|
static outboundRichSegmentPolicy: OutboundRichSegmentPolicy;
|
|
11
|
+
static interactivePolicy: "native";
|
|
11
12
|
constructor(plugin: Plugin);
|
|
12
13
|
createEndpoint(config: KookEndpointConfig): KookEndpoint;
|
|
13
|
-
|
|
14
|
+
removeMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
|
|
14
15
|
banMember(endpointId: string, sceneId: string, userId: string, reason?: string): Promise<boolean>;
|
|
15
16
|
unbanMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
|
|
16
17
|
setMemberNickname(endpointId: string, sceneId: string, userId: string, nickname: string): Promise<boolean>;
|
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,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,qBAAa,WAAY,SAAQ,OAAO,CAAC,YAAY,CAAC;IACpD,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,EAAE,yBAAyB,CAIlE;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,qBAAa,WAAY,SAAQ,OAAO,CAAC,YAAY,CAAC;IACpD,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,EAAE,yBAAyB,CAIlE;IACF,OAAgB,iBAAiB,EAAG,QAAQ,CAAU;gBAE1C,MAAM,EAAE,MAAM;IAI1B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAMlD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMhE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAM9E,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM/D,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAMvF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;IAe/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B"}
|
package/lib/adapter.js
CHANGED
|
@@ -10,14 +10,15 @@ export class KookAdapter extends Adapter {
|
|
|
10
10
|
html: 'image',
|
|
11
11
|
markdown: 'origin',
|
|
12
12
|
};
|
|
13
|
+
static interactivePolicy = 'native';
|
|
13
14
|
constructor(plugin) {
|
|
14
15
|
super(plugin, "kook", []);
|
|
15
16
|
}
|
|
16
17
|
createEndpoint(config) {
|
|
17
18
|
return new KookEndpoint(this, config);
|
|
18
19
|
}
|
|
19
|
-
// ──
|
|
20
|
-
async
|
|
20
|
+
// ── ISceneManagement 标准群管方法 ──────────────────────────────────
|
|
21
|
+
async removeMember(endpointId, sceneId, userId) {
|
|
21
22
|
const endpoint = this.endpoints.get(endpointId);
|
|
22
23
|
if (!endpoint)
|
|
23
24
|
throw new Error(`Endpoint ${endpointId} 不存在`);
|
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,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,OAAO,WAAY,SAAQ,OAAqB;IACpD,MAAM,CAAmB,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;IACzE,MAAM,CAAU,yBAAyB,GAA8B;QACrE,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,QAAQ;KACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/endpoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,MAAM,EAIN,IAAI,EACJ,KAAK,EAGN,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,WAAW,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|
package/lib/endpoint.js
CHANGED
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
import { Client, } from "kook-client";
|
|
5
5
|
import { EventEmitter } from "node:events";
|
|
6
6
|
import path from "path";
|
|
7
|
-
import { Message, segment, } from 'zhin.js';
|
|
7
|
+
import { Message, segment, expandInteractiveSegmentsInContent, } from 'zhin.js';
|
|
8
8
|
import { KookPermission } from "./types.js";
|
|
9
9
|
import { InboundMessageDeduper } from "./kook-inbound.js";
|
|
10
10
|
import { normalizeKookSenderForPermit } from "./platform-permit.js";
|
|
11
|
-
import { enrichKookGatewayForPlugins, formatKookNotice, formatKookNoticeLog, isKookNoticeGatewayEvent, resolveKookSideEventDedupeKey, } from "./kook-side-events.js";
|
|
11
|
+
import { enrichKookGatewayForPlugins, formatKookNotice, formatKookNoticeLog, formatKookButtonClickMessage, isKookButtonClickEvent, isKookNoticeGatewayEvent, resolveKookSideEventDedupeKey, } from "./kook-side-events.js";
|
|
12
12
|
import { encodeKookMsgRef, encodeKookReactionId, isKookApiGoneResult, isKookApiSuccess, isKookMsgGoneError, shouldStopDeleteAfterResponse, kookDeleteApiPath, kookReactionApiPath, parseKookMsgRef, parseKookReactionId, plainKookMsgId, resolveKookRoutes, routeFromSceneType, routeFromSendType, } from "./kook-msg-route.js";
|
|
13
13
|
import { materializeOutboundMedia } from "./outbound-media.js";
|
|
14
14
|
import { uploadKookAsset } from "./kook-asset-upload.js";
|
|
15
15
|
import { convertToKookSendable } from "./outbound-sendable.js";
|
|
16
|
+
import { fromCanonicalSegments, toCanonicalSegments } from './segment-mapper.js';
|
|
16
17
|
export class KookEndpoint extends Client {
|
|
17
18
|
$config;
|
|
18
19
|
$connected = false;
|
|
@@ -64,6 +65,15 @@ export class KookEndpoint extends Client {
|
|
|
64
65
|
try {
|
|
65
66
|
const enriched = enrichKookGatewayForPlugins(raw);
|
|
66
67
|
EventEmitter.prototype.emit.call(this.adapter, "kook.gateway", enriched);
|
|
68
|
+
if (isKookButtonClickEvent(raw)) {
|
|
69
|
+
const dedupeKey = resolveKookSideEventDedupeKey(raw, "gateway");
|
|
70
|
+
if (!this.inboundDeduper.shouldProcess(dedupeKey))
|
|
71
|
+
return;
|
|
72
|
+
const message = formatKookButtonClickMessage(raw, this.$id);
|
|
73
|
+
this.adapter.emit("message.receive", message);
|
|
74
|
+
this.pluginLogger.debug(`KOOK 按钮点击 ${message.$channel.type}(${message.$channel.id}): ${message.$raw}`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
67
77
|
if (!isKookNoticeGatewayEvent(raw))
|
|
68
78
|
return;
|
|
69
79
|
const dedupeKey = resolveKookSideEventDedupeKey(raw, "notice");
|
|
@@ -159,7 +169,7 @@ export class KookEndpoint extends Client {
|
|
|
159
169
|
// 频道消息包含服务器ID
|
|
160
170
|
...(guildId ? { guild_id: guildId } : {}),
|
|
161
171
|
},
|
|
162
|
-
$content: this.parseMessageContent(msg.message),
|
|
172
|
+
$content: toCanonicalSegments(this.parseMessageContent(msg.message)),
|
|
163
173
|
$raw: msg.raw_message,
|
|
164
174
|
$timestamp: msg.timestamp,
|
|
165
175
|
$recall: async () => {
|
|
@@ -601,7 +611,10 @@ export class KookEndpoint extends Client {
|
|
|
601
611
|
async $sendMessage(options) {
|
|
602
612
|
try {
|
|
603
613
|
const { id, type, content } = options;
|
|
604
|
-
const
|
|
614
|
+
const expanded = expandInteractiveSegmentsInContent(content);
|
|
615
|
+
const canonical = toCanonicalSegments(Array.isArray(expanded) ? expanded : [expanded]);
|
|
616
|
+
const wire = fromCanonicalSegments(canonical);
|
|
617
|
+
const elements = await materializeOutboundMedia(this, wire);
|
|
605
618
|
const kookContent = convertToKookSendable(elements, (els) => this.convertToKookFormat(els));
|
|
606
619
|
// 根据消息类型发送
|
|
607
620
|
let result;
|
package/lib/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* KOOK 适配器入口:类型扩展、导出、注册
|
|
3
3
|
*/
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { usePlugin,
|
|
5
|
+
import { usePlugin, createSceneManagementTools } from "zhin.js";
|
|
6
6
|
import { KookAdapter } from "./adapter.js";
|
|
7
7
|
import { kookGroupPermitResolver, platformPermit, registerKookPlatformPermitChecker } from "./platform-permit.js";
|
|
8
8
|
export * from "./types.js";
|
|
@@ -25,8 +25,8 @@ provide({
|
|
|
25
25
|
useContext('tool', 'kook', (toolService, kook) => {
|
|
26
26
|
const disposers = [];
|
|
27
27
|
disposers.push(registerKookPlatformPermitChecker());
|
|
28
|
-
const
|
|
29
|
-
disposers.push(...
|
|
28
|
+
const sceneTools = createSceneManagementTools(kook, 'kook', { permitResolver: kookGroupPermitResolver, registerChecker: false });
|
|
29
|
+
disposers.push(...sceneTools.map(t => toolService.addTool(t, plugin.name)));
|
|
30
30
|
disposers.push(toolService.addTool({
|
|
31
31
|
name: 'kook_grant_role',
|
|
32
32
|
description: '给用户授予 KOOK 服务器角色',
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* KOOK Gateway 非聊天入站:系统消息 (type=255) / BROADCAST → Notice
|
|
3
3
|
* @see https://developer.kookapp.cn/doc/event/event-introduction
|
|
4
4
|
*/
|
|
5
|
-
import { Notice } from "zhin.js";
|
|
5
|
+
import { Notice, Message } from "zhin.js";
|
|
6
6
|
/** KOOK WebSocket s=0 时 d 字段(kook-client Receiver 入参) */
|
|
7
7
|
export interface KookGatewayEvent {
|
|
8
8
|
channel_type?: string;
|
|
@@ -40,4 +40,7 @@ export declare function resolveKookNoticeChannel(event: KookGatewayEvent): {
|
|
|
40
40
|
export declare function enrichKookGatewayForPlugins(event: KookGatewayEvent): KookGatewayEvent;
|
|
41
41
|
export declare function formatKookNotice(event: KookGatewayEvent, endpointName: string): ReturnType<typeof Notice.from<KookGatewayEvent>>;
|
|
42
42
|
export declare function formatKookNoticeLog(notice: ReturnType<typeof formatKookNotice>): string;
|
|
43
|
+
/** KOOK 卡片按钮点击(type=255, extra.type=message_btn_click) */
|
|
44
|
+
export declare function isKookButtonClickEvent(event: KookGatewayEvent): boolean;
|
|
45
|
+
export declare function formatKookButtonClickMessage(event: KookGatewayEvent, endpointName: string): ReturnType<typeof Message.from<KookGatewayEvent>>;
|
|
43
46
|
//# sourceMappingURL=kook-side-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kook-side-events.d.ts","sourceRoot":"","sources":["../src/kook-side-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"kook-side-events.d.ts","sourceRoot":"","sources":["../src/kook-side-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAiB,OAAO,EAAmB,MAAM,SAAS,CAAC;AAE1E,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAKhF;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,MAAM,CAOR;AA6BD,+BAA+B;AAC/B,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,GACtB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,CA+DvD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAWrF;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GACnB,UAAU,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CA6BlD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAOvF;AAED,0DAA0D;AAC1D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAEvE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GACnB,UAAU,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAsCnD"}
|
package/lib/kook-side-events.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* KOOK Gateway 非聊天入站:系统消息 (type=255) / BROADCAST → Notice
|
|
3
3
|
* @see https://developer.kookapp.cn/doc/event/event-introduction
|
|
4
4
|
*/
|
|
5
|
-
import { Notice, formatCompact } from "zhin.js";
|
|
5
|
+
import { Notice, formatCompact, Message } from "zhin.js";
|
|
6
6
|
const SYSTEM_MESSAGE_TYPE = 255;
|
|
7
7
|
/** 是否应由适配器作为 notice 处理(kook-client 对 notice 的 transform 为空实现) */
|
|
8
8
|
export function isKookNoticeGatewayEvent(data) {
|
|
@@ -144,4 +144,46 @@ export function formatKookNoticeLog(notice) {
|
|
|
144
144
|
endpoint: notice.$endpoint,
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
+
/** KOOK 卡片按钮点击(type=255, extra.type=message_btn_click) */
|
|
148
|
+
export function isKookButtonClickEvent(event) {
|
|
149
|
+
return event.type === SYSTEM_MESSAGE_TYPE && event.extra?.type === 'message_btn_click';
|
|
150
|
+
}
|
|
151
|
+
export function formatKookButtonClickMessage(event, endpointName) {
|
|
152
|
+
const extra = event.extra ?? {};
|
|
153
|
+
const body = extra.body ?? {};
|
|
154
|
+
const payload = String(body.value ?? '');
|
|
155
|
+
const userInfo = body.user_info;
|
|
156
|
+
const userId = String(body.user_id ?? userInfo?.id ?? event.author_id ?? '');
|
|
157
|
+
const userName = userInfo?.nickname ?? userInfo?.username ?? userId;
|
|
158
|
+
const sourceMessageId = String(body.msg_id ?? '');
|
|
159
|
+
let channelType = 'private';
|
|
160
|
+
let channelId = String(body.target_id ?? event.target_id ?? userId);
|
|
161
|
+
if (body.channel_type === 'GROUP' || event.channel_type === 'GROUP') {
|
|
162
|
+
channelType = 'channel';
|
|
163
|
+
channelId = String(body.target_id ?? event.target_id ?? channelId);
|
|
164
|
+
}
|
|
165
|
+
else if (body.channel_type === 'PERSON' || event.channel_type === 'PERSON') {
|
|
166
|
+
channelType = 'private';
|
|
167
|
+
channelId = String(body.target_id ?? event.target_id ?? userId);
|
|
168
|
+
}
|
|
169
|
+
return Message.from(event, {
|
|
170
|
+
$id: event.msg_id ?? `btn:${Date.now()}`,
|
|
171
|
+
$adapter: 'kook',
|
|
172
|
+
$endpoint: endpointName,
|
|
173
|
+
$sender: { id: userId, name: userName },
|
|
174
|
+
$channel: { id: channelId, type: channelType },
|
|
175
|
+
$content: [{
|
|
176
|
+
type: 'action',
|
|
177
|
+
data: {
|
|
178
|
+
id: payload,
|
|
179
|
+
payload,
|
|
180
|
+
sourceMessageId,
|
|
181
|
+
},
|
|
182
|
+
}],
|
|
183
|
+
$raw: payload,
|
|
184
|
+
$timestamp: event.msg_timestamp ?? Date.now(),
|
|
185
|
+
$recall: async () => { },
|
|
186
|
+
$reply: async () => '',
|
|
187
|
+
});
|
|
188
|
+
}
|
|
147
189
|
//# sourceMappingURL=kook-side-events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kook-side-events.js","sourceRoot":"","sources":["../src/kook-side-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"kook-side-events.js","sourceRoot":"","sources":["../src/kook-side-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* core keyboard 段 → KOOK 卡片消息(action-group + button)
|
|
3
|
+
*/
|
|
4
|
+
import type { KeyboardSegmentData, MessageElement } from "zhin.js";
|
|
5
|
+
/** core keyboard 布局 → KOOK card[](可直接传给 sendChannelMsg / sendPrivateMsg) */
|
|
6
|
+
export declare function coreKeyboardToKookCard(data: KeyboardSegmentData, prefixElements?: MessageElement[]): Array<Record<string, unknown>>;
|
|
7
|
+
export declare function findKeyboardSegment(elements: MessageElement[]): {
|
|
8
|
+
keyboard: MessageElement & {
|
|
9
|
+
data: KeyboardSegmentData;
|
|
10
|
+
};
|
|
11
|
+
rest: MessageElement[];
|
|
12
|
+
} | null;
|
|
13
|
+
//# sourceMappingURL=outbound-keyboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-keyboard.d.ts","sourceRoot":"","sources":["../src/outbound-keyboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqBnE,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,mBAAmB,EACzB,cAAc,GAAE,cAAc,EAAO,GACpC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA6BhC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EAAE,GACzB;IAAE,QAAQ,EAAE,cAAc,GAAG;QAAE,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,IAAI,CAgB7F"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { KeyboardSegment, isKeyboardSegment } from "zhin.js";
|
|
2
|
+
function asKeyboardElement(el) {
|
|
3
|
+
if (el instanceof KeyboardSegment) {
|
|
4
|
+
return { type: "keyboard", data: el.data };
|
|
5
|
+
}
|
|
6
|
+
if (isKeyboardSegment(el))
|
|
7
|
+
return el;
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
function textFromElements(elements) {
|
|
11
|
+
return elements
|
|
12
|
+
.filter((el) => el.type === "text" && typeof el.data.text === "string")
|
|
13
|
+
.map((el) => el.data.text)
|
|
14
|
+
.join("\n")
|
|
15
|
+
.trim();
|
|
16
|
+
}
|
|
17
|
+
/** core keyboard 布局 → KOOK card[](可直接传给 sendChannelMsg / sendPrivateMsg) */
|
|
18
|
+
export function coreKeyboardToKookCard(data, prefixElements = []) {
|
|
19
|
+
const modules = [];
|
|
20
|
+
const prefixText = textFromElements(prefixElements);
|
|
21
|
+
if (prefixText) {
|
|
22
|
+
modules.push({
|
|
23
|
+
type: "section",
|
|
24
|
+
text: { type: "plain-text", content: prefixText },
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
for (const row of data.rows ?? []) {
|
|
28
|
+
modules.push({
|
|
29
|
+
type: "action-group",
|
|
30
|
+
elements: row.map((btn) => ({
|
|
31
|
+
type: "button",
|
|
32
|
+
theme: btn.disabled ? "secondary" : "primary",
|
|
33
|
+
value: btn.payload,
|
|
34
|
+
click: "return-val",
|
|
35
|
+
text: { type: "plain-text", content: btn.label },
|
|
36
|
+
})),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return [{
|
|
40
|
+
type: "card",
|
|
41
|
+
theme: "secondary",
|
|
42
|
+
size: "sm",
|
|
43
|
+
modules,
|
|
44
|
+
}];
|
|
45
|
+
}
|
|
46
|
+
export function findKeyboardSegment(elements) {
|
|
47
|
+
let keyboard;
|
|
48
|
+
const rest = [];
|
|
49
|
+
for (const el of elements) {
|
|
50
|
+
const kb = asKeyboardElement(el);
|
|
51
|
+
if (kb) {
|
|
52
|
+
if (keyboard)
|
|
53
|
+
return null;
|
|
54
|
+
keyboard = kb;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
rest.push(el);
|
|
58
|
+
}
|
|
59
|
+
if (!keyboard)
|
|
60
|
+
return null;
|
|
61
|
+
return { keyboard, rest };
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=outbound-keyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-keyboard.js","sourceRoot":"","sources":["../src/outbound-keyboard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE7D,SAAS,iBAAiB,CACxB,EAAkB;IAElB,IAAI,EAAE,YAAY,eAAe,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,iBAAiB,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA0B;IAClD,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;SACtE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAc,CAAC;SACnC,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CACpC,IAAyB,EACzB,iBAAmC,EAAE;IAErC,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACpD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC7C,KAAK,EAAE,GAAG,CAAC,OAAO;gBAClB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE;aACjD,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;YACV,OAAO;SACR,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAA0B;IAE1B,IAAI,QAAsE,CAAC;IAC3E,MAAM,IAAI,GAAqB,EAAE,CAAC;IAElC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC1B,QAAQ,GAAG,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { type MessageSegment as KookMessageSegment } from "kook-client";
|
|
6
6
|
import type { MessageElement } from "zhin.js";
|
|
7
|
+
export type KookSendable = string | KookMessageSegment[] | Array<Record<string, unknown>>;
|
|
7
8
|
/**
|
|
8
9
|
* 单张图片(可带 reply)→ kook image 消息段(type=2)
|
|
9
10
|
*/
|
|
10
|
-
export declare function convertToKookSendable(elements: MessageElement[], formatText: (content: MessageElement[]) => string):
|
|
11
|
+
export declare function convertToKookSendable(elements: MessageElement[], formatText: (content: MessageElement[]) => string): KookSendable;
|
|
11
12
|
//# sourceMappingURL=outbound-sendable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-sendable.d.ts","sourceRoot":"","sources":["../src/outbound-sendable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAW,KAAK,cAAc,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"outbound-sendable.d.ts","sourceRoot":"","sources":["../src/outbound-sendable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAW,KAAK,cAAc,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,kBAAkB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAM1F;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EAAE,EAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,GAChD,YAAY,CAoDd"}
|
package/lib/outbound-sendable.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* 图片/音视频须用 segment 发送对应 msg_type,不能写成 Markdown 。
|
|
4
4
|
*/
|
|
5
5
|
import { segment } from "kook-client";
|
|
6
|
+
import { coreKeyboardToKookCard, findKeyboardSegment } from "./outbound-keyboard.js";
|
|
6
7
|
function mediaUrl(data) {
|
|
7
8
|
return String(data.url ?? data.file ?? "");
|
|
8
9
|
}
|
|
@@ -10,6 +11,14 @@ function mediaUrl(data) {
|
|
|
10
11
|
* 单张图片(可带 reply)→ kook image 消息段(type=2)
|
|
11
12
|
*/
|
|
12
13
|
export function convertToKookSendable(elements, formatText) {
|
|
14
|
+
const keyboardBundle = findKeyboardSegment(elements);
|
|
15
|
+
if (keyboardBundle) {
|
|
16
|
+
const { keyboard, rest } = keyboardBundle;
|
|
17
|
+
const nonReplyRest = rest.filter((el) => el.type !== "reply");
|
|
18
|
+
if (nonReplyRest.every((el) => el.type === "text" || el.type === "reply")) {
|
|
19
|
+
return coreKeyboardToKookCard(keyboard.data, nonReplyRest.filter((el) => el.type === "text"));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
13
22
|
const replies = [];
|
|
14
23
|
const images = [];
|
|
15
24
|
const videos = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-sendable.js","sourceRoot":"","sources":["../src/outbound-sendable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAA6C,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"outbound-sendable.js","sourceRoot":"","sources":["../src/outbound-sendable.ts"],"names":[],"mappings":"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"}
|
package/lib/platform-permit.js
CHANGED
|
@@ -5,8 +5,8 @@ export function platformPermit(perm) {
|
|
|
5
5
|
return `platform(${ADAPTER},${perm})`;
|
|
6
6
|
}
|
|
7
7
|
const FACTORY_PERM_MAP = {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
scene_admin: 'guild_admin',
|
|
9
|
+
scene_owner: 'guild_owner',
|
|
10
10
|
};
|
|
11
11
|
export function kookGroupPermitResolver(logicalPerm) {
|
|
12
12
|
return platformPermit(FACTORY_PERM_MAP[logicalPerm] ?? logicalPerm);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-mapper.d.ts","sourceRoot":"","sources":["../src/segment-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-mapper.js","sourceRoot":"","sources":["../src/segment-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-kook",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Zhin.js adapter for KOOK (开黑啦)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -38,23 +38,23 @@
|
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/react": "^19.2.17",
|
|
40
40
|
"@types/react-dom": "^19.2.3",
|
|
41
|
-
"lucide-react": "^1.
|
|
41
|
+
"lucide-react": "^1.22.0",
|
|
42
42
|
"typescript": "^6.0.3",
|
|
43
|
-
"@zhin.js/cli": "1.0.
|
|
44
|
-
"@zhin.js/client": "2.0.
|
|
45
|
-
"@zhin.js/contract": "1.0.
|
|
46
|
-
"@zhin.js/host-api": "2.0.
|
|
47
|
-
"@zhin.js/host-router": "2.0.
|
|
48
|
-
"
|
|
49
|
-
"zhin.js": "
|
|
43
|
+
"@zhin.js/cli": "1.0.92",
|
|
44
|
+
"@zhin.js/client": "2.0.4",
|
|
45
|
+
"@zhin.js/contract": "1.0.2",
|
|
46
|
+
"@zhin.js/host-api": "2.0.4",
|
|
47
|
+
"@zhin.js/host-router": "2.0.2",
|
|
48
|
+
"zhin.js": "4.1.1",
|
|
49
|
+
"@zhin.js/logger": "1.0.73"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@zhin.js/
|
|
53
|
-
"@zhin.js/
|
|
54
|
-
"@zhin.js/
|
|
55
|
-
"@zhin.js/logger": "1.0.
|
|
56
|
-
"@zhin.js/host-router": "2.0.
|
|
57
|
-
"zhin.js": "4.1.
|
|
52
|
+
"@zhin.js/client": "2.0.4",
|
|
53
|
+
"@zhin.js/host-api": "2.0.4",
|
|
54
|
+
"@zhin.js/contract": "1.0.2",
|
|
55
|
+
"@zhin.js/logger": "1.0.73",
|
|
56
|
+
"@zhin.js/host-router": "2.0.2",
|
|
57
|
+
"zhin.js": "4.1.1"
|
|
58
58
|
},
|
|
59
59
|
"peerDependenciesMeta": {
|
|
60
60
|
"@zhin.js/client": {
|
package/skills/kook/PERMITS.md
CHANGED
package/src/adapter.ts
CHANGED
|
@@ -13,6 +13,7 @@ export class KookAdapter extends Adapter<KookEndpoint> {
|
|
|
13
13
|
html: 'image',
|
|
14
14
|
markdown: 'origin',
|
|
15
15
|
};
|
|
16
|
+
static override interactivePolicy = 'native' as const;
|
|
16
17
|
|
|
17
18
|
constructor(plugin: Plugin) {
|
|
18
19
|
super(plugin, "kook", []);
|
|
@@ -22,9 +23,9 @@ export class KookAdapter extends Adapter<KookEndpoint> {
|
|
|
22
23
|
return new KookEndpoint(this, config);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
// ──
|
|
26
|
+
// ── ISceneManagement 标准群管方法 ──────────────────────────────────
|
|
26
27
|
|
|
27
|
-
async
|
|
28
|
+
async removeMember(endpointId: string, sceneId: string, userId: string) {
|
|
28
29
|
const endpoint = this.endpoints.get(endpointId);
|
|
29
30
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
30
31
|
return endpoint.kickUser(sceneId, userId);
|
package/src/endpoint.ts
CHANGED
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
SendContent,
|
|
21
21
|
MessageElement,
|
|
22
22
|
segment,
|
|
23
|
+
expandInteractiveSegmentsInContent,
|
|
23
24
|
MessageType,} from 'zhin.js';
|
|
24
25
|
import type { KookEndpointConfig, KookSenderInfo, KookRawMessage } from "./types.js";
|
|
25
26
|
import { KookPermission } from "./types.js";
|
|
@@ -30,6 +31,8 @@ import {
|
|
|
30
31
|
enrichKookGatewayForPlugins,
|
|
31
32
|
formatKookNotice,
|
|
32
33
|
formatKookNoticeLog,
|
|
34
|
+
formatKookButtonClickMessage,
|
|
35
|
+
isKookButtonClickEvent,
|
|
33
36
|
isKookNoticeGatewayEvent,
|
|
34
37
|
resolveKookSideEventDedupeKey,
|
|
35
38
|
type KookGatewayEvent,
|
|
@@ -54,6 +57,7 @@ import {
|
|
|
54
57
|
import { materializeOutboundMedia } from "./outbound-media.js";
|
|
55
58
|
import { uploadKookAsset } from "./kook-asset-upload.js";
|
|
56
59
|
import { convertToKookSendable } from "./outbound-sendable.js";
|
|
60
|
+
import { fromCanonicalSegments, toCanonicalSegments } from './segment-mapper.js';
|
|
57
61
|
|
|
58
62
|
export class KookEndpoint extends Client implements Endpoint<KookEndpointConfig, KookRawMessage> {
|
|
59
63
|
$connected: boolean = false;
|
|
@@ -110,6 +114,17 @@ export class KookEndpoint extends Client implements Endpoint<KookEndpointConfig,
|
|
|
110
114
|
const enriched = enrichKookGatewayForPlugins(raw);
|
|
111
115
|
EventEmitter.prototype.emit.call(this.adapter, "kook.gateway", enriched);
|
|
112
116
|
|
|
117
|
+
if (isKookButtonClickEvent(raw)) {
|
|
118
|
+
const dedupeKey = resolveKookSideEventDedupeKey(raw, "gateway");
|
|
119
|
+
if (!this.inboundDeduper.shouldProcess(dedupeKey)) return;
|
|
120
|
+
const message = formatKookButtonClickMessage(raw, this.$id);
|
|
121
|
+
this.adapter.emit("message.receive", message);
|
|
122
|
+
this.pluginLogger.debug(
|
|
123
|
+
`KOOK 按钮点击 ${message.$channel.type}(${message.$channel.id}): ${message.$raw}`,
|
|
124
|
+
);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
113
128
|
if (!isKookNoticeGatewayEvent(raw)) return;
|
|
114
129
|
|
|
115
130
|
const dedupeKey = resolveKookSideEventDedupeKey(raw, "notice");
|
|
@@ -221,7 +236,7 @@ export class KookEndpoint extends Client implements Endpoint<KookEndpointConfig,
|
|
|
221
236
|
...(guildId ? { guild_id: guildId } : {}),
|
|
222
237
|
},
|
|
223
238
|
|
|
224
|
-
$content: this.parseMessageContent(msg.message),
|
|
239
|
+
$content: toCanonicalSegments(this.parseMessageContent(msg.message)),
|
|
225
240
|
$raw: msg.raw_message,
|
|
226
241
|
$timestamp: msg.timestamp,
|
|
227
242
|
|
|
@@ -707,7 +722,10 @@ export class KookEndpoint extends Client implements Endpoint<KookEndpointConfig,
|
|
|
707
722
|
try {
|
|
708
723
|
const { id, type, content } = options;
|
|
709
724
|
|
|
710
|
-
const
|
|
725
|
+
const expanded = expandInteractiveSegmentsInContent(content);
|
|
726
|
+
const canonical = toCanonicalSegments(Array.isArray(expanded) ? expanded : [expanded]);
|
|
727
|
+
const wire = fromCanonicalSegments(canonical);
|
|
728
|
+
const elements = await materializeOutboundMedia(this, wire);
|
|
711
729
|
const kookContent = convertToKookSendable(
|
|
712
730
|
elements,
|
|
713
731
|
(els) => this.convertToKookFormat(els),
|
package/src/index.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* KOOK 适配器入口:类型扩展、导出、注册
|
|
3
3
|
*/
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { usePlugin, type Plugin, type
|
|
5
|
+
import { usePlugin, type Plugin, type ISceneManagement, createSceneManagementTools, type ToolFeature } from "zhin.js";
|
|
6
6
|
import { KookAdapter } from "./adapter.js";
|
|
7
7
|
import { kookGroupPermitResolver, platformPermit, registerKookPlatformPermitChecker } from "./platform-permit.js";
|
|
8
8
|
import { PageManager } from "@zhin.js/host-api";
|
|
@@ -44,12 +44,12 @@ provide({
|
|
|
44
44
|
useContext('tool', 'kook', (toolService: ToolFeature, kook: KookAdapter) => {
|
|
45
45
|
const disposers: (() => void)[] = [];
|
|
46
46
|
disposers.push(registerKookPlatformPermitChecker());
|
|
47
|
-
const
|
|
48
|
-
kook as unknown as
|
|
47
|
+
const sceneTools = createSceneManagementTools(
|
|
48
|
+
kook as unknown as ISceneManagement,
|
|
49
49
|
'kook',
|
|
50
50
|
{ permitResolver: kookGroupPermitResolver, registerChecker: false },
|
|
51
51
|
);
|
|
52
|
-
disposers.push(...
|
|
52
|
+
disposers.push(...sceneTools.map(t => toolService.addTool(t, plugin.name)));
|
|
53
53
|
|
|
54
54
|
disposers.push(toolService.addTool({
|
|
55
55
|
name: 'kook_grant_role',
|
package/src/kook-side-events.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* KOOK Gateway 非聊天入站:系统消息 (type=255) / BROADCAST → Notice
|
|
3
3
|
* @see https://developer.kookapp.cn/doc/event/event-introduction
|
|
4
4
|
*/
|
|
5
|
-
import { Notice, formatCompact, type NoticeType } from "zhin.js";
|
|
5
|
+
import { Notice, formatCompact, Message, type NoticeType } from "zhin.js";
|
|
6
6
|
|
|
7
7
|
/** KOOK WebSocket s=0 时 d 字段(kook-client Receiver 入参) */
|
|
8
8
|
export interface KookGatewayEvent {
|
|
@@ -200,3 +200,51 @@ export function formatKookNoticeLog(notice: ReturnType<typeof formatKookNotice>)
|
|
|
200
200
|
endpoint: notice.$endpoint,
|
|
201
201
|
});
|
|
202
202
|
}
|
|
203
|
+
|
|
204
|
+
/** KOOK 卡片按钮点击(type=255, extra.type=message_btn_click) */
|
|
205
|
+
export function isKookButtonClickEvent(event: KookGatewayEvent): boolean {
|
|
206
|
+
return event.type === SYSTEM_MESSAGE_TYPE && event.extra?.type === 'message_btn_click';
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export function formatKookButtonClickMessage(
|
|
210
|
+
event: KookGatewayEvent,
|
|
211
|
+
endpointName: string,
|
|
212
|
+
): ReturnType<typeof Message.from<KookGatewayEvent>> {
|
|
213
|
+
const extra = event.extra ?? {};
|
|
214
|
+
const body = extra.body ?? {};
|
|
215
|
+
const payload = String(body.value ?? '');
|
|
216
|
+
const userInfo = body.user_info as { id?: string; username?: string; nickname?: string } | undefined;
|
|
217
|
+
const userId = String(body.user_id ?? userInfo?.id ?? event.author_id ?? '');
|
|
218
|
+
const userName = userInfo?.nickname ?? userInfo?.username ?? userId;
|
|
219
|
+
const sourceMessageId = String(body.msg_id ?? '');
|
|
220
|
+
|
|
221
|
+
let channelType: 'private' | 'channel' = 'private';
|
|
222
|
+
let channelId = String(body.target_id ?? event.target_id ?? userId);
|
|
223
|
+
if (body.channel_type === 'GROUP' || event.channel_type === 'GROUP') {
|
|
224
|
+
channelType = 'channel';
|
|
225
|
+
channelId = String(body.target_id ?? event.target_id ?? channelId);
|
|
226
|
+
} else if (body.channel_type === 'PERSON' || event.channel_type === 'PERSON') {
|
|
227
|
+
channelType = 'private';
|
|
228
|
+
channelId = String(body.target_id ?? event.target_id ?? userId);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return Message.from(event, {
|
|
232
|
+
$id: event.msg_id ?? `btn:${Date.now()}`,
|
|
233
|
+
$adapter: 'kook',
|
|
234
|
+
$endpoint: endpointName,
|
|
235
|
+
$sender: { id: userId, name: userName },
|
|
236
|
+
$channel: { id: channelId, type: channelType },
|
|
237
|
+
$content: [{
|
|
238
|
+
type: 'action',
|
|
239
|
+
data: {
|
|
240
|
+
id: payload,
|
|
241
|
+
payload,
|
|
242
|
+
sourceMessageId,
|
|
243
|
+
},
|
|
244
|
+
}],
|
|
245
|
+
$raw: payload,
|
|
246
|
+
$timestamp: event.msg_timestamp ?? Date.now(),
|
|
247
|
+
$recall: async () => {},
|
|
248
|
+
$reply: async () => '',
|
|
249
|
+
});
|
|
250
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* core keyboard 段 → KOOK 卡片消息(action-group + button)
|
|
3
|
+
*/
|
|
4
|
+
import type { KeyboardSegmentData, MessageElement } from "zhin.js";
|
|
5
|
+
import { KeyboardSegment, isKeyboardSegment } from "zhin.js";
|
|
6
|
+
|
|
7
|
+
function asKeyboardElement(
|
|
8
|
+
el: MessageElement,
|
|
9
|
+
): (MessageElement & { data: KeyboardSegmentData }) | null {
|
|
10
|
+
if (el instanceof KeyboardSegment) {
|
|
11
|
+
return { type: "keyboard", data: el.data };
|
|
12
|
+
}
|
|
13
|
+
if (isKeyboardSegment(el)) return el;
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function textFromElements(elements: MessageElement[]): string {
|
|
18
|
+
return elements
|
|
19
|
+
.filter((el) => el.type === "text" && typeof el.data.text === "string")
|
|
20
|
+
.map((el) => el.data.text as string)
|
|
21
|
+
.join("\n")
|
|
22
|
+
.trim();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** core keyboard 布局 → KOOK card[](可直接传给 sendChannelMsg / sendPrivateMsg) */
|
|
26
|
+
export function coreKeyboardToKookCard(
|
|
27
|
+
data: KeyboardSegmentData,
|
|
28
|
+
prefixElements: MessageElement[] = [],
|
|
29
|
+
): Array<Record<string, unknown>> {
|
|
30
|
+
const modules: Array<Record<string, unknown>> = [];
|
|
31
|
+
const prefixText = textFromElements(prefixElements);
|
|
32
|
+
if (prefixText) {
|
|
33
|
+
modules.push({
|
|
34
|
+
type: "section",
|
|
35
|
+
text: { type: "plain-text", content: prefixText },
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
for (const row of data.rows ?? []) {
|
|
40
|
+
modules.push({
|
|
41
|
+
type: "action-group",
|
|
42
|
+
elements: row.map((btn) => ({
|
|
43
|
+
type: "button",
|
|
44
|
+
theme: btn.disabled ? "secondary" : "primary",
|
|
45
|
+
value: btn.payload,
|
|
46
|
+
click: "return-val",
|
|
47
|
+
text: { type: "plain-text", content: btn.label },
|
|
48
|
+
})),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return [{
|
|
53
|
+
type: "card",
|
|
54
|
+
theme: "secondary",
|
|
55
|
+
size: "sm",
|
|
56
|
+
modules,
|
|
57
|
+
}];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function findKeyboardSegment(
|
|
61
|
+
elements: MessageElement[],
|
|
62
|
+
): { keyboard: MessageElement & { data: KeyboardSegmentData }; rest: MessageElement[] } | null {
|
|
63
|
+
let keyboard: (MessageElement & { data: KeyboardSegmentData }) | undefined;
|
|
64
|
+
const rest: MessageElement[] = [];
|
|
65
|
+
|
|
66
|
+
for (const el of elements) {
|
|
67
|
+
const kb = asKeyboardElement(el);
|
|
68
|
+
if (kb) {
|
|
69
|
+
if (keyboard) return null;
|
|
70
|
+
keyboard = kb;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
rest.push(el);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (!keyboard) return null;
|
|
77
|
+
return { keyboard, rest };
|
|
78
|
+
}
|
package/src/outbound-sendable.ts
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { segment, type MessageSegment as KookMessageSegment } from "kook-client";
|
|
6
6
|
import type { MessageElement } from "zhin.js";
|
|
7
|
+
import { coreKeyboardToKookCard, findKeyboardSegment } from "./outbound-keyboard.js";
|
|
8
|
+
|
|
9
|
+
export type KookSendable = string | KookMessageSegment[] | Array<Record<string, unknown>>;
|
|
7
10
|
|
|
8
11
|
function mediaUrl(data: Record<string, unknown>): string {
|
|
9
12
|
return String(data.url ?? data.file ?? "");
|
|
@@ -15,7 +18,16 @@ function mediaUrl(data: Record<string, unknown>): string {
|
|
|
15
18
|
export function convertToKookSendable(
|
|
16
19
|
elements: MessageElement[],
|
|
17
20
|
formatText: (content: MessageElement[]) => string,
|
|
18
|
-
):
|
|
21
|
+
): KookSendable {
|
|
22
|
+
const keyboardBundle = findKeyboardSegment(elements);
|
|
23
|
+
if (keyboardBundle) {
|
|
24
|
+
const { keyboard, rest } = keyboardBundle;
|
|
25
|
+
const nonReplyRest = rest.filter((el) => el.type !== "reply");
|
|
26
|
+
if (nonReplyRest.every((el) => el.type === "text" || el.type === "reply")) {
|
|
27
|
+
return coreKeyboardToKookCard(keyboard.data, nonReplyRest.filter((el) => el.type === "text"));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
19
31
|
const replies: string[] = [];
|
|
20
32
|
const images: string[] = [];
|
|
21
33
|
const videos: string[] = [];
|
package/src/platform-permit.ts
CHANGED
|
@@ -13,8 +13,8 @@ export function platformPermit(perm: string): string {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
const FACTORY_PERM_MAP: Record<string, string> = {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
scene_admin: 'guild_admin',
|
|
17
|
+
scene_owner: 'guild_owner',
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export function kookGroupPermitResolver(logicalPerm: string): string {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { toCanonicalSegments, fromCanonicalSegments } from 'zhin.js';
|