@zhin.js/adapter-discord 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 +3 -2
- 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 +4 -2
- package/lib/endpoint.d.ts.map +1 -1
- package/lib/endpoint.js +115 -12
- package/lib/endpoint.js.map +1 -1
- package/lib/index.js +3 -3
- 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 +14 -14
- package/skills/discord/PERMITS.md +1 -1
- package/src/adapter.ts +3 -2
- package/src/endpoint.ts +123 -13
- package/src/index.ts +4 -4
- 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-discord
|
|
2
2
|
|
|
3
|
+
## 5.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5cc9c03: fix: ai 优化
|
|
8
|
+
- b9b3881: fix: 增加游戏引擎以及部分游戏
|
|
9
|
+
- 7700903: fix: 游戏强化
|
|
10
|
+
- Updated dependencies [5cc9c03]
|
|
11
|
+
- Updated dependencies [7700903]
|
|
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 pe,useState as p,useCallback as me}from"react";var E="zhin_api_token",J="zhin_api_base";function _(){let t=localStorage.getItem(J)?.trim();return t?t.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function j(){return localStorage.getItem(E)}async function T(t,u){let l=j(),s=new Headers(u?.headers);l&&s.set("Authorization",`Bearer ${l}`);let r=_(),f=typeof t=="string"&&t.startsWith("/")?`${r}${t}`:t,i=await fetch(f,{...u,headers:s});return i.status===401&&(localStorage.removeItem(E),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),i}import{forwardRef as te,createElement as oe}from"react";var q=(...t)=>t.filter((u,l,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===l).join(" ").trim();var V=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var z=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,l,s)=>s?s.toUpperCase():l.toLowerCase());var O=t=>{let u=z(t);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as ae,createElement as K}from"react";var b={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 N=t=>{for(let u in t)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as $,useContext as Y,useMemo as Be,createElement as Me}from"react";var ee=$({});var X=()=>Y(ee);var Z=ae(({color:t,size:u,strokeWidth:l,absoluteStrokeWidth:s,className:r="",children:f,iconNode:i,...m},D)=>{let{size:L=24,strokeWidth:C=2,absoluteStrokeWidth:v=!1,color:h="currentColor",className:R=""}=X()??{},S=s??v?Number(l??C)*24/Number(u??L):l??C;return K("svg",{ref:D,...b,width:u??L??b.width,height:u??L??b.height,stroke:t??h,strokeWidth:S,className:q("lucide",R,r),...!f&&!N(m)&&{"aria-hidden":"true"},...m},[...i.map(([y,I])=>K(y,I)),...Array.isArray(f)?f:[f]])});var d=(t,u)=>{let l=te(({className:s,...r},f)=>oe(Z,{ref:f,iconNode:u,className:q(`lucide-${V(O(t))}`,`lucide-${t}`,s),...r}));return l.displayName=O(t),l};var ue=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],g=d("globe",ue);var de=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],n=d("loader-circle",de);var le=[["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"}]],k=d("power-off",le);var fe=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],w=d("power",fe);var se=[["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"}]],P=d("refresh-cw",se);var re=[["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"}]],A=d("server",re);var ie=[["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"}]],B=d("users",ie);var ce=[["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"}]],M=d("wifi-off",ce);var ne=[["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"}]],F=d("wifi",ne);import{Fragment as Le,jsx as a,jsxs as o}from"react/jsx-runtime";function H(){let[t,u]=p([]),[l,s]=p(!0),[r,f]=p(""),[i,m]=p("overview"),[D,L]=p({}),[C,v]=p(""),[h,R]=p([]),[S,y]=p(!1),I=me(async()=>{s(!0),f("");try{let x=await(await T("/api/discord/endpoints")).json();x.success?u(x.data):f(x.error||"\u83B7\u53D6\u6570\u636E\u5931\u8D25")}catch{f("\u65E0\u6CD5\u8FDE\u63A5\u670D\u52A1\u5668")}finally{s(!1)}},[]);pe(()=>{I()},[I]);let Q=async(e,x)=>{L(c=>({...c,[e]:!0}));try{let c=x?"disconnect":"connect",W=await(await T(`/api/discord/endpoints/${encodeURIComponent(e)}/${c}`,{method:"POST"})).json();W.success||f(W.error||"\u64CD\u4F5C\u5931\u8D25"),await I()}catch{f("\u64CD\u4F5C\u5931\u8D25")}finally{L(c=>({...c,[e]:!1}))}},G=async e=>{v(e),y(!0),R([]);try{let c=await(await T(`/api/discord/endpoints/${encodeURIComponent(e)}/guilds`)).json();c.success?R(c.data):f(c.error||"\u83B7\u53D6\u670D\u52A1\u5668\u5217\u8868\u5931\u8D25")}catch{f("\u83B7\u53D6\u670D\u52A1\u5668\u5217\u8868\u5931\u8D25")}finally{y(!1)}},U=t.filter(e=>e.connected&&e.mode==="gateway");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(A,{className:"w-6 h-6"})," Discord \u673A\u5668\u4EBA"]}),o("button",{onClick:I,disabled:l,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-indigo-500 text-white hover:bg-indigo-600 disabled:opacity-50 text-sm",children:[a(P,{className:`w-4 h-4 ${l?"animate-spin":""}`})," \u5237\u65B0"]})]}),r&&a("div",{className:"mb-4 p-3 bg-red-50 text-red-600 rounded border border-red-200",children:r}),o("div",{className:"flex gap-1 mb-6 border-b",children:[a("button",{onClick:()=>m("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${i==="overview"?"border-indigo-500 text-indigo-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u6982\u89C8"}),a("button",{onClick:()=>m("guilds"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${i==="guilds"?"border-indigo-500 text-indigo-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u670D\u52A1\u5668\u5217\u8868"})]}),i==="overview"&&o(Le,{children:[!l&&!t.length&&!r&&a("div",{className:"text-center text-gray-500 py-12",children:"\u6682\u65E0 Discord 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(F,{className:"w-4 h-4"})," \u5728\u7EBF"]}):o("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[a(M,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),e.user&&o("div",{className:"text-sm text-gray-500 mb-2",children:["@",e.user.tag]}),o("div",{className:"grid grid-cols-2 gap-2 text-sm text-gray-600 mb-3",children:[o("div",{className:"flex justify-between",children:[a("span",{children:"\u6A21\u5F0F"}),a("span",{className:"font-mono",children:e.mode})]}),o("div",{className:"flex justify-between",children:[a("span",{children:"\u670D\u52A1\u5668"}),a("span",{className:"font-mono",children:e.guildCount})]}),o("div",{className:"flex justify-between",children:[a("span",{children:"\u9891\u9053"}),a("span",{className:"font-mono",children:e.channelCount})]})]}),o("div",{className:"flex gap-2",children:[o("button",{onClick:()=>Q(e.name,e.connected),disabled:D[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:[D[e.name]?a(n,{className:"w-3.5 h-3.5 animate-spin"}):e.connected?a(k,{className:"w-3.5 h-3.5"}):a(w,{className:"w-3.5 h-3.5"}),e.connected?"\u65AD\u5F00":"\u8FDE\u63A5"]}),e.connected&&e.mode==="gateway"&&o("button",{onClick:()=>{m("guilds"),G(e.name)},className:"flex items-center gap-1 px-3 py-1.5 rounded text-sm bg-gray-100 hover:bg-gray-200 text-gray-700",children:[a(g,{className:"w-3.5 h-3.5"})," \u67E5\u770B\u670D\u52A1\u5668"]})]})]},e.name))})]}),i==="guilds"&&o("div",{children:[U.length>0&&o("div",{className:"mb-4 flex items-center gap-2",children:[a("label",{className:"text-sm text-gray-500",children:"\u9009\u62E9\u673A\u5668\u4EBA\uFF1A"}),o("select",{value:C,onChange:e=>G(e.target.value),className:"border rounded px-2 py-1 text-sm",children:[a("option",{value:"",children:"--"}),U.map(e=>a("option",{value:e.name,children:e.name},e.name))]}),a("span",{className:"text-xs text-gray-400 ml-2",children:"\u4EC5 Gateway \u6A21\u5F0F\u652F\u6301"})]}),!U.length&&a("div",{className:"text-center text-gray-500 py-8",children:"\u6682\u65E0 Gateway \u6A21\u5F0F\u5728\u7EBF Endpoint"}),S&&a("div",{className:"flex justify-center py-8",children:a(n,{className:"w-6 h-6 animate-spin text-indigo-500"})}),!S&&h.length>0&&a("div",{className:"grid gap-3 md:grid-cols-2 lg:grid-cols-3",children:h.map(e=>o("div",{className:"border rounded-lg p-3 bg-card shadow-sm flex items-center gap-3",children:[e.icon?a("img",{src:e.icon,alt:"",className:"w-10 h-10 rounded-full"}):a("div",{className:"w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center text-indigo-500 font-bold text-sm",children:e.name[0]}),o("div",{className:"flex-1 min-w-0",children:[a("div",{className:"font-medium text-sm truncate",children:e.name}),o("div",{className:"flex items-center gap-1 text-xs text-gray-400",children:[a(B,{className:"w-3 h-3"})," ",e.memberCount," \u6210\u5458"]})]})]},e.id))}),!S&&C&&!h.length&&a("div",{className:"text-center text-gray-400 py-8",children:"\u8BE5\u673A\u5668\u4EBA\u672A\u52A0\u5165\u4EFB\u4F55\u670D\u52A1\u5668"})]})]})}function ga(t){t.addRoute({path:"/console/discord",name:"Discord",element:t.React.createElement(H,{hostReact:t.React})}),t.addTool({id:"discord",name:"Discord",path:"/console/discord"})}export{ga as register};
|
|
1
|
+
import{useEffect as pe,useState as p,useCallback as me}from"react";var E="zhin_api_token",J="zhin_api_base";function _(){let t=localStorage.getItem(J)?.trim();return t?t.replace(/\/$/,""):typeof window<"u"?window.location.origin:""}function j(){return localStorage.getItem(E)}async function T(t,u){let l=j(),s=new Headers(u?.headers);l&&s.set("Authorization",`Bearer ${l}`);let r=_(),f=typeof t=="string"&&t.startsWith("/")?`${r}${t}`:t,i=await fetch(f,{...u,headers:s});return i.status===401&&(localStorage.removeItem(E),window.dispatchEvent(new CustomEvent("zhin:auth-required"))),i}import{forwardRef as te,createElement as oe}from"react";var b=(...t)=>t.filter((u,l,s)=>!!u&&u.trim()!==""&&s.indexOf(u)===l).join(" ").trim();var V=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var z=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(u,l,s)=>s?s.toUpperCase():l.toLowerCase());var O=t=>{let u=z(t);return u.charAt(0).toUpperCase()+u.slice(1)};import{forwardRef as ae,createElement as K}from"react";var q={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 N=t=>{for(let u in t)if(u.startsWith("aria-")||u==="role"||u==="title")return!0;return!1};import{createContext as $,useContext as Y,useMemo as Be,createElement as Me}from"react";var ee=$({});var X=()=>Y(ee);var Z=ae(({color:t,size:u,strokeWidth:l,absoluteStrokeWidth:s,className:r="",children:f,iconNode:i,...m},F)=>{let{size:L=24,strokeWidth:C=2,absoluteStrokeWidth:v=!1,color:h="currentColor",className:R=""}=X()??{},g=s??v?Number(l??C)*24/Number(u??L):l??C;return K("svg",{ref:F,...q,width:u??L??q.width,height:u??L??q.height,stroke:t??h,strokeWidth:g,className:b("lucide",R,r),...!f&&!N(m)&&{"aria-hidden":"true"},...m},[...i.map(([y,I])=>K(y,I)),...Array.isArray(f)?f:[f]])});var d=(t,u)=>{let l=te(({className:s,...r},f)=>oe(Z,{ref:f,iconNode:u,className:b(`lucide-${V(O(t))}`,`lucide-${t}`,s),...r}));return l.displayName=O(t),l};var ue=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],S=d("globe",ue);var de=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],n=d("loader-circle",de);var le=[["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"}]],k=d("power-off",le);var fe=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],w=d("power",fe);var se=[["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"}]],P=d("refresh-cw",se);var re=[["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"}]],A=d("server",re);var ie=[["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"}]],B=d("users",ie);var ce=[["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"}]],M=d("wifi-off",ce);var ne=[["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"}]],D=d("wifi",ne);import{Fragment as Le,jsx as a,jsxs as o}from"react/jsx-runtime";function H(){let[t,u]=p([]),[l,s]=p(!0),[r,f]=p(""),[i,m]=p("overview"),[F,L]=p({}),[C,v]=p(""),[h,R]=p([]),[g,y]=p(!1),I=me(async()=>{s(!0),f("");try{let x=await(await T("/api/discord/endpoints")).json();x.success?u(x.data):f(x.error||"\u83B7\u53D6\u6570\u636E\u5931\u8D25")}catch{f("\u65E0\u6CD5\u8FDE\u63A5\u670D\u52A1\u5668")}finally{s(!1)}},[]);pe(()=>{I()},[I]);let Q=async(e,x)=>{L(c=>({...c,[e]:!0}));try{let c=x?"disconnect":"connect",W=await(await T(`/api/discord/endpoints/${encodeURIComponent(e)}/${c}`,{method:"POST"})).json();W.success||f(W.error||"\u64CD\u4F5C\u5931\u8D25"),await I()}catch{f("\u64CD\u4F5C\u5931\u8D25")}finally{L(c=>({...c,[e]:!1}))}},G=async e=>{v(e),y(!0),R([]);try{let c=await(await T(`/api/discord/endpoints/${encodeURIComponent(e)}/guilds`)).json();c.success?R(c.data):f(c.error||"\u83B7\u53D6\u670D\u52A1\u5668\u5217\u8868\u5931\u8D25")}catch{f("\u83B7\u53D6\u670D\u52A1\u5668\u5217\u8868\u5931\u8D25")}finally{y(!1)}},U=t.filter(e=>e.connected&&e.mode==="gateway");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(A,{className:"w-6 h-6"})," Discord \u673A\u5668\u4EBA"]}),o("button",{onClick:I,disabled:l,className:"flex items-center gap-1 px-3 py-1.5 rounded bg-indigo-500 text-white hover:bg-indigo-600 disabled:opacity-50 text-sm",children:[a(P,{className:`w-4 h-4 ${l?"animate-spin":""}`})," \u5237\u65B0"]})]}),r&&a("div",{className:"mb-4 p-3 bg-red-50 text-red-600 rounded border border-red-200",children:r}),o("div",{className:"flex gap-1 mb-6 border-b",children:[a("button",{onClick:()=>m("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${i==="overview"?"border-indigo-500 text-indigo-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u6982\u89C8"}),a("button",{onClick:()=>m("guilds"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${i==="guilds"?"border-indigo-500 text-indigo-600":"border-transparent text-gray-500 hover:text-gray-700"}`,children:"\u670D\u52A1\u5668\u5217\u8868"})]}),i==="overview"&&o(Le,{children:[!l&&!t.length&&!r&&a("div",{className:"text-center text-gray-500 py-12",children:"\u6682\u65E0 Discord 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(D,{className:"w-4 h-4"})," \u5728\u7EBF"]}):o("span",{className:"flex items-center gap-1 text-gray-400 text-sm",children:[a(M,{className:"w-4 h-4"})," \u79BB\u7EBF"]})]}),e.user&&o("div",{className:"text-sm text-gray-500 mb-2",children:["@",e.user.tag]}),o("div",{className:"grid grid-cols-2 gap-2 text-sm text-gray-600 mb-3",children:[o("div",{className:"flex justify-between",children:[a("span",{children:"\u6A21\u5F0F"}),a("span",{className:"font-mono",children:e.mode})]}),o("div",{className:"flex justify-between",children:[a("span",{children:"\u670D\u52A1\u5668"}),a("span",{className:"font-mono",children:e.guildCount})]}),o("div",{className:"flex justify-between",children:[a("span",{children:"\u9891\u9053"}),a("span",{className:"font-mono",children:e.channelCount})]})]}),o("div",{className:"flex gap-2",children:[o("button",{onClick:()=>Q(e.name,e.connected),disabled:F[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:[F[e.name]?a(n,{className:"w-3.5 h-3.5 animate-spin"}):e.connected?a(k,{className:"w-3.5 h-3.5"}):a(w,{className:"w-3.5 h-3.5"}),e.connected?"\u65AD\u5F00":"\u8FDE\u63A5"]}),e.connected&&e.mode==="gateway"&&o("button",{onClick:()=>{m("guilds"),G(e.name)},className:"flex items-center gap-1 px-3 py-1.5 rounded text-sm bg-gray-100 hover:bg-gray-200 text-gray-700",children:[a(S,{className:"w-3.5 h-3.5"})," \u67E5\u770B\u670D\u52A1\u5668"]})]})]},e.name))})]}),i==="guilds"&&o("div",{children:[U.length>0&&o("div",{className:"mb-4 flex items-center gap-2",children:[a("label",{className:"text-sm text-gray-500",children:"\u9009\u62E9\u673A\u5668\u4EBA\uFF1A"}),o("select",{value:C,onChange:e=>G(e.target.value),className:"border rounded px-2 py-1 text-sm",children:[a("option",{value:"",children:"--"}),U.map(e=>a("option",{value:e.name,children:e.name},e.name))]}),a("span",{className:"text-xs text-gray-400 ml-2",children:"\u4EC5 Gateway \u6A21\u5F0F\u652F\u6301"})]}),!U.length&&a("div",{className:"text-center text-gray-500 py-8",children:"\u6682\u65E0 Gateway \u6A21\u5F0F\u5728\u7EBF Endpoint"}),g&&a("div",{className:"flex justify-center py-8",children:a(n,{className:"w-6 h-6 animate-spin text-indigo-500"})}),!g&&h.length>0&&a("div",{className:"grid gap-3 md:grid-cols-2 lg:grid-cols-3",children:h.map(e=>o("div",{className:"border rounded-lg p-3 bg-card shadow-sm flex items-center gap-3",children:[e.icon?a("img",{src:e.icon,alt:"",className:"w-10 h-10 rounded-full"}):a("div",{className:"w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center text-indigo-500 font-bold text-sm",children:e.name[0]}),o("div",{className:"flex-1 min-w-0",children:[a("div",{className:"font-medium text-sm truncate",children:e.name}),o("div",{className:"flex items-center gap-1 text-xs text-gray-400",children:[a(B,{className:"w-3 h-3"})," ",e.memberCount," \u6210\u5458"]})]})]},e.id))}),!g&&C&&!h.length&&a("div",{className:"text-center text-gray-400 py-8",children:"\u8BE5\u673A\u5668\u4EBA\u672A\u52A0\u5165\u4EFB\u4F55\u670D\u52A1\u5668"})]})]})}function Sa(t){t.addRoute({path:"/console/discord",name:"Discord",element:t.React.createElement(H,{hostReact:t.React})}),t.addTool({id:"discord",name:"Discord",path:"/console/discord"})}export{Sa as register};
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs:
|
|
@@ -21,7 +21,7 @@ lucide-react/dist/esm/icons/wifi-off.mjs:
|
|
|
21
21
|
lucide-react/dist/esm/icons/wifi.mjs:
|
|
22
22
|
lucide-react/dist/esm/lucide-react.mjs:
|
|
23
23
|
(**
|
|
24
|
-
* @license lucide-react v1.
|
|
24
|
+
* @license lucide-react v1.23.0 - ISC
|
|
25
25
|
*
|
|
26
26
|
* This source code is licensed under the ISC license.
|
|
27
27
|
* See the LICENSE file in the root directory of this source tree.
|
package/lib/adapter.d.ts
CHANGED
|
@@ -10,15 +10,16 @@ export declare class DiscordAdapter extends Adapter<DiscordEndpointLike> {
|
|
|
10
10
|
#private;
|
|
11
11
|
static readonly capabilities: readonly ["inbound", "outbound"];
|
|
12
12
|
static outboundRichSegmentPolicy: import("zhin.js").OutboundRichSegmentPolicy;
|
|
13
|
+
static interactivePolicy: "native";
|
|
13
14
|
constructor(plugin: Plugin);
|
|
14
15
|
createEndpoint(config: DiscordEndpointConfig): DiscordEndpointLike;
|
|
15
|
-
|
|
16
|
+
removeMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
|
|
16
17
|
banMember(endpointId: string, sceneId: string, userId: string, reason?: string): Promise<boolean>;
|
|
17
18
|
unbanMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
|
|
18
19
|
muteMember(endpointId: string, sceneId: string, userId: string, duration?: number): Promise<boolean>;
|
|
19
20
|
setMemberNickname(endpointId: string, sceneId: string, userId: string, nickname: string): Promise<boolean>;
|
|
20
21
|
listMembers(endpointId: string, sceneId: string): Promise<any[]>;
|
|
21
|
-
|
|
22
|
+
getSceneInfo(endpointId: string, sceneId: string): Promise<any>;
|
|
22
23
|
start(): Promise<void>;
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=adapter.d.ts.map
|
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,EAAE,OAAO,EAAE,MAAM,EAAwC,MAAM,SAAS,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,2BAA2B,CAAC;AAMhF,qBAAa,cAAe,SAAQ,OAAO,CAAC,mBAAmB,CAAC;;IAC9D,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,8CAAwC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAwC,MAAM,SAAS,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,2BAA2B,CAAC;AAMhF,qBAAa,cAAe,SAAQ,OAAO,CAAC,mBAAmB,CAAC;;IAC9D,gBAAyB,YAAY,mCAAoC;IACzE,OAAgB,yBAAyB,8CAAwC;IACjF,OAAgB,iBAAiB,EAAG,QAAQ,CAAU;gBAI1C,MAAM,EAAE,MAAM;IAI1B,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,mBAAmB;IAiB5D,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOhE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAO9E,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAO/D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAM;IAO9E,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOvF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAO/C,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOhD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAW7B"}
|
package/lib/adapter.js
CHANGED
|
@@ -10,6 +10,7 @@ function isGatewayBot(endpoint) {
|
|
|
10
10
|
export class DiscordAdapter extends Adapter {
|
|
11
11
|
static capabilities = ['inbound', 'outbound'];
|
|
12
12
|
static outboundRichSegmentPolicy = OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL;
|
|
13
|
+
static interactivePolicy = 'native';
|
|
13
14
|
#router;
|
|
14
15
|
constructor(plugin) {
|
|
15
16
|
super(plugin, "discord", []);
|
|
@@ -28,7 +29,7 @@ export class DiscordAdapter extends Adapter {
|
|
|
28
29
|
throw new Error(`Unknown Discord connection: ${config.connection}`);
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
async
|
|
32
|
+
async removeMember(endpointId, sceneId, userId) {
|
|
32
33
|
const endpoint = this.endpoints.get(endpointId);
|
|
33
34
|
if (!endpoint)
|
|
34
35
|
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
@@ -76,7 +77,7 @@ export class DiscordAdapter extends Adapter {
|
|
|
76
77
|
throw new Error("群管仅支持 connection: gateway");
|
|
77
78
|
return endpoint.getMembers(sceneId);
|
|
78
79
|
}
|
|
79
|
-
async
|
|
80
|
+
async getSceneInfo(endpointId, sceneId) {
|
|
80
81
|
const endpoint = this.endpoints.get(endpointId);
|
|
81
82
|
if (!endpoint)
|
|
82
83
|
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,OAAO,EAAU,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AASzE,SAAS,YAAY,CAAC,QAA6B;IACjD,OAAQ,QAAQ,CAAC,OAAmC,CAAC,UAAU,KAAK,SAAS,CAAC;AAChF,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,OAA4B;IAC9D,MAAM,CAAmB,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;IACzE,MAAM,CAAU,yBAAyB,GAAG,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/endpoint.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Discord Endpoint 实现 (Gateway)
|
|
3
3
|
*/
|
|
4
|
-
import { Client, Message as DiscordMessage, TextChannel, DMChannel, NewsChannel, ThreadChannel, EmbedBuilder, AttachmentBuilder, MessageCreateOptions, ChatInputCommandInteraction } from
|
|
5
|
-
import { Endpoint, Message, SendOptions, SendContent, MessageSegment } from 'zhin.js';
|
|
4
|
+
import { Client, Message as DiscordMessage, TextChannel, DMChannel, NewsChannel, ThreadChannel, EmbedBuilder, AttachmentBuilder, MessageCreateOptions, ChatInputCommandInteraction } from 'discord.js';
|
|
5
|
+
import { Endpoint, Message, SendOptions, SendContent, MessageSegment, type EditMessageOptions } from 'zhin.js';
|
|
6
6
|
import type { DiscordGatewayConfig, DiscordChannelMessage } from "./types.js";
|
|
7
7
|
import type { DiscordAdapter } from "./adapter.js";
|
|
8
8
|
export declare class DiscordEndpoint extends Client implements Endpoint<DiscordGatewayConfig, DiscordChannelMessage> {
|
|
@@ -17,6 +17,7 @@ export declare class DiscordEndpoint extends Client implements Endpoint<DiscordG
|
|
|
17
17
|
constructor(adapter: DiscordAdapter, $config: DiscordGatewayConfig);
|
|
18
18
|
private handleDiscordMessage;
|
|
19
19
|
private handleSlashCommand;
|
|
20
|
+
private handleButtonInteraction;
|
|
20
21
|
$connect(): Promise<void>;
|
|
21
22
|
$disconnect(): Promise<void>;
|
|
22
23
|
$formatMessage(msg: DiscordChannelMessage): Message<DiscordChannelMessage>;
|
|
@@ -25,6 +26,7 @@ export declare class DiscordEndpoint extends Client implements Endpoint<DiscordG
|
|
|
25
26
|
parseAttachment(attachment: any): MessageSegment[];
|
|
26
27
|
$sendMessage(options: SendOptions): Promise<string>;
|
|
27
28
|
sendContentToChannel(channel: TextChannel | DMChannel | NewsChannel | ThreadChannel, content: SendContent, extraOptions?: MessageCreateOptions): Promise<DiscordMessage<boolean>>;
|
|
29
|
+
$editMessage(options: EditMessageOptions): Promise<void>;
|
|
28
30
|
$recallMessage(id: string): Promise<void>;
|
|
29
31
|
/**
|
|
30
32
|
* 踢出成员
|
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,EAEN,OAAO,IAAI,cAAc,EACzB,WAAW,EACX,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EAKpB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|
package/lib/endpoint.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Discord Endpoint 实现 (Gateway)
|
|
3
3
|
*/
|
|
4
|
-
import { Client, GatewayIntentBits, EmbedBuilder, AttachmentBuilder, ChannelType, REST, Routes, PermissionFlagsBits, } from
|
|
5
|
-
import { Message, segment, } from 'zhin.js';
|
|
4
|
+
import { Client, GatewayIntentBits, EmbedBuilder, AttachmentBuilder, ChannelType, REST, Routes, ActionRowBuilder, ButtonBuilder, ButtonStyle, PermissionFlagsBits, } from 'discord.js';
|
|
5
|
+
import { Message, segment, expandInteractiveSegmentsInContent, } from 'zhin.js';
|
|
6
6
|
import { createReadStream } from "fs";
|
|
7
7
|
import { promises as fs } from "fs";
|
|
8
8
|
import path from "path";
|
|
9
|
+
import { fromCanonicalSegments, toCanonicalSegments } from './segment-mapper.js';
|
|
9
10
|
export class DiscordEndpoint extends Client {
|
|
10
11
|
adapter;
|
|
11
12
|
$config;
|
|
@@ -73,18 +74,63 @@ export class DiscordEndpoint extends Client {
|
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
}
|
|
77
|
+
async handleButtonInteraction(interaction) {
|
|
78
|
+
try {
|
|
79
|
+
await interaction.deferUpdate();
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// already acknowledged
|
|
83
|
+
}
|
|
84
|
+
const channel = interaction.channel;
|
|
85
|
+
if (!channel)
|
|
86
|
+
return;
|
|
87
|
+
const channelType = channel.type === ChannelType.DM ? "private" : "group";
|
|
88
|
+
const message = Message.from(interaction, {
|
|
89
|
+
$id: interaction.id,
|
|
90
|
+
$adapter: "discord",
|
|
91
|
+
$endpoint: this.$config.name,
|
|
92
|
+
$sender: {
|
|
93
|
+
id: interaction.user.id,
|
|
94
|
+
name: interaction.user.username || interaction.user.displayName,
|
|
95
|
+
},
|
|
96
|
+
$channel: {
|
|
97
|
+
id: channel.id,
|
|
98
|
+
type: channelType,
|
|
99
|
+
},
|
|
100
|
+
$content: [{
|
|
101
|
+
type: "action",
|
|
102
|
+
data: {
|
|
103
|
+
id: interaction.customId,
|
|
104
|
+
payload: interaction.customId,
|
|
105
|
+
sourceMessageId: interaction.message?.id,
|
|
106
|
+
},
|
|
107
|
+
}],
|
|
108
|
+
$raw: interaction.customId,
|
|
109
|
+
$timestamp: Date.now(),
|
|
110
|
+
$recall: async () => { },
|
|
111
|
+
$reply: async (content) => {
|
|
112
|
+
if (!interaction.channel?.isTextBased())
|
|
113
|
+
return "";
|
|
114
|
+
const result = await this.sendContentToChannel(interaction.channel, content);
|
|
115
|
+
return result.id;
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
this.adapter.emit("message.receive", message);
|
|
119
|
+
}
|
|
76
120
|
async $connect() {
|
|
77
121
|
return new Promise((resolve, reject) => {
|
|
78
122
|
// 监听消息事件
|
|
79
123
|
this.on("messageCreate", this.handleDiscordMessage.bind(this));
|
|
80
|
-
// 监听交互事件(Slash Commands
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
124
|
+
// 监听交互事件(Slash Commands + 按钮)
|
|
125
|
+
this.on("interactionCreate", async (interaction) => {
|
|
126
|
+
if (interaction.isChatInputCommand() && this.$config.enableSlashCommands) {
|
|
127
|
+
await this.handleSlashCommand(interaction);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (interaction.isButton()) {
|
|
131
|
+
await this.handleButtonInteraction(interaction);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
88
134
|
// 监听就绪事件
|
|
89
135
|
this.once("clientReady", async () => {
|
|
90
136
|
this.$connected = true;
|
|
@@ -145,7 +191,8 @@ export class DiscordEndpoint extends Client {
|
|
|
145
191
|
channelId = msg.channel.id;
|
|
146
192
|
}
|
|
147
193
|
// 转换消息内容为 segment 格式
|
|
148
|
-
const
|
|
194
|
+
const wire = this.parseMessageContent(msg);
|
|
195
|
+
const content = toCanonicalSegments(wire);
|
|
149
196
|
const sender = (() => {
|
|
150
197
|
const base = {
|
|
151
198
|
id: msg.author.id,
|
|
@@ -454,7 +501,9 @@ export class DiscordEndpoint extends Client {
|
|
|
454
501
|
if (!channel || !channel.isTextBased()) {
|
|
455
502
|
throw new Error(`Channel ${options.id} is not a text channel`);
|
|
456
503
|
}
|
|
457
|
-
const
|
|
504
|
+
const canonical = expandInteractiveSegmentsInContent(options.content);
|
|
505
|
+
const wire = fromCanonicalSegments(canonical);
|
|
506
|
+
const result = await this.sendContentToChannel(channel, wire);
|
|
458
507
|
this.messageChannelMap.set(result.id, options.id);
|
|
459
508
|
this.pluginLogger.debug(`${this.$config.name} send ${options.type}(${options.id}): ${segment.raw(options.content)}`);
|
|
460
509
|
return result.id;
|
|
@@ -505,6 +554,23 @@ export class DiscordEndpoint extends Client {
|
|
|
505
554
|
case "embed":
|
|
506
555
|
embeds.push(this.createEmbedFromData(data));
|
|
507
556
|
break;
|
|
557
|
+
case "keyboard": {
|
|
558
|
+
const components = (data.rows ?? []).map((row) => new ActionRowBuilder().addComponents(...row.map((btn) => {
|
|
559
|
+
const b = new ButtonBuilder()
|
|
560
|
+
.setCustomId(String(btn.payload).slice(0, 100))
|
|
561
|
+
.setLabel(btn.label)
|
|
562
|
+
.setDisabled(!!btn.disabled);
|
|
563
|
+
if (btn.style === "danger")
|
|
564
|
+
b.setStyle(ButtonStyle.Danger);
|
|
565
|
+
else if (btn.style === "primary")
|
|
566
|
+
b.setStyle(ButtonStyle.Primary);
|
|
567
|
+
else
|
|
568
|
+
b.setStyle(ButtonStyle.Secondary);
|
|
569
|
+
return b;
|
|
570
|
+
})));
|
|
571
|
+
messageOptions.components = components;
|
|
572
|
+
break;
|
|
573
|
+
}
|
|
508
574
|
default:
|
|
509
575
|
// 未知类型作为文本处理
|
|
510
576
|
textContent += data.text || `[${type}]`;
|
|
@@ -523,6 +589,43 @@ export class DiscordEndpoint extends Client {
|
|
|
523
589
|
// 发送消息
|
|
524
590
|
return await channel.send(messageOptions);
|
|
525
591
|
}
|
|
592
|
+
async $editMessage(options) {
|
|
593
|
+
const channel = await this.channels.fetch(options.id);
|
|
594
|
+
if (!channel || !channel.isTextBased()) {
|
|
595
|
+
throw new Error(`Channel ${options.id} is not a text channel`);
|
|
596
|
+
}
|
|
597
|
+
const msg = await channel.messages.fetch(options.messageId);
|
|
598
|
+
const messageOptions = {};
|
|
599
|
+
let textContent = "";
|
|
600
|
+
if (!Array.isArray(options.content))
|
|
601
|
+
options.content = [options.content];
|
|
602
|
+
for (const seg of options.content) {
|
|
603
|
+
if (typeof seg === "string") {
|
|
604
|
+
textContent += seg;
|
|
605
|
+
continue;
|
|
606
|
+
}
|
|
607
|
+
if (seg.type === "text")
|
|
608
|
+
textContent += seg.data.text || "";
|
|
609
|
+
if (seg.type === "keyboard") {
|
|
610
|
+
messageOptions.components = (seg.data.rows ?? []).map((row) => new ActionRowBuilder().addComponents(...row.map((btn) => {
|
|
611
|
+
const b = new ButtonBuilder()
|
|
612
|
+
.setCustomId(String(btn.payload).slice(0, 100))
|
|
613
|
+
.setLabel(btn.label)
|
|
614
|
+
.setDisabled(!!btn.disabled);
|
|
615
|
+
if (btn.style === "danger")
|
|
616
|
+
b.setStyle(ButtonStyle.Danger);
|
|
617
|
+
else if (btn.style === "primary")
|
|
618
|
+
b.setStyle(ButtonStyle.Primary);
|
|
619
|
+
else
|
|
620
|
+
b.setStyle(ButtonStyle.Secondary);
|
|
621
|
+
return b;
|
|
622
|
+
})));
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
if (textContent.trim())
|
|
626
|
+
messageOptions.content = textContent.trim();
|
|
627
|
+
await msg.edit(messageOptions);
|
|
628
|
+
}
|
|
526
629
|
async $recallMessage(id) { }
|
|
527
630
|
// ==================== 服务器管理 API ====================
|
|
528
631
|
/**
|
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
|
* Discord 适配器入口:单一适配器,支持 Gateway / Interactions(connection: gateway | interactions)
|
|
3
3
|
*/
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { usePlugin,
|
|
5
|
+
import { usePlugin, createSceneManagementTools } from "zhin.js";
|
|
6
6
|
import { DiscordAdapter } from "./adapter.js";
|
|
7
7
|
import { discordGroupPermitResolver, platformPermit, registerDiscordPlatformPermitChecker, } from "./platform-permit.js";
|
|
8
8
|
export * from "./types.js";
|
|
@@ -26,8 +26,8 @@ provide({
|
|
|
26
26
|
useContext('tool', 'discord', (toolService, discord) => {
|
|
27
27
|
const disposers = [];
|
|
28
28
|
disposers.push(registerDiscordPlatformPermitChecker());
|
|
29
|
-
const
|
|
30
|
-
disposers.push(...
|
|
29
|
+
const sceneTools = createSceneManagementTools(discord, 'discord', { permitResolver: discordGroupPermitResolver, registerChecker: false });
|
|
30
|
+
disposers.push(...sceneTools.map(t => toolService.addTool(t, plugin.name)));
|
|
31
31
|
function getGatewayBot(endpointId) {
|
|
32
32
|
const endpoint = discord.endpoints.get(endpointId);
|
|
33
33
|
if (!endpoint)
|
package/lib/platform-permit.js
CHANGED
|
@@ -4,8 +4,8 @@ export function platformPermit(perm) {
|
|
|
4
4
|
return `platform(${ADAPTER},${perm})`;
|
|
5
5
|
}
|
|
6
6
|
const FACTORY_PERM_MAP = {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
scene_admin: 'moderate_members',
|
|
8
|
+
scene_owner: 'guild_owner',
|
|
9
9
|
};
|
|
10
10
|
export function discordGroupPermitResolver(logicalPerm) {
|
|
11
11
|
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-discord",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Zhin.js adapter for Discord",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -36,24 +36,24 @@
|
|
|
36
36
|
"tweetnacl": "^1.0.3"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@types/node": "^
|
|
39
|
+
"@types/node": "^26.1.0",
|
|
40
40
|
"@types/react": "^19.2.17",
|
|
41
41
|
"@types/react-dom": "^19.2.3",
|
|
42
|
-
"lucide-react": "^1.
|
|
42
|
+
"lucide-react": "^1.22.0",
|
|
43
43
|
"typescript": "^6.0.3",
|
|
44
|
-
"@zhin.js/cli": "1.0.
|
|
45
|
-
"@zhin.js/
|
|
46
|
-
"@zhin.js/
|
|
47
|
-
"@zhin.js/host-
|
|
48
|
-
"zhin.js": "
|
|
49
|
-
"
|
|
44
|
+
"@zhin.js/cli": "1.0.92",
|
|
45
|
+
"@zhin.js/client": "2.0.4",
|
|
46
|
+
"@zhin.js/contract": "1.0.2",
|
|
47
|
+
"@zhin.js/host-api": "2.0.4",
|
|
48
|
+
"@zhin.js/host-router": "2.0.2",
|
|
49
|
+
"zhin.js": "4.1.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@zhin.js/client": "2.0.
|
|
53
|
-
"@zhin.js/host-api": "2.0.
|
|
54
|
-
"@zhin.js/contract": "1.0.
|
|
55
|
-
"@zhin.js/host-router": "2.0.
|
|
56
|
-
"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/host-router": "2.0.2",
|
|
56
|
+
"zhin.js": "4.1.1"
|
|
57
57
|
},
|
|
58
58
|
"peerDependenciesMeta": {
|
|
59
59
|
"@zhin.js/client": {
|
package/src/adapter.ts
CHANGED
|
@@ -20,6 +20,7 @@ function isGatewayBot(endpoint: DiscordEndpointLike): endpoint is DiscordEndpoin
|
|
|
20
20
|
export class DiscordAdapter extends Adapter<DiscordEndpointLike> {
|
|
21
21
|
static override readonly capabilities = ['inbound', 'outbound'] as const;
|
|
22
22
|
static override outboundRichSegmentPolicy = OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL;
|
|
23
|
+
static override interactivePolicy = 'native' as const;
|
|
23
24
|
|
|
24
25
|
#router?: Router;
|
|
25
26
|
|
|
@@ -44,7 +45,7 @@ export class DiscordAdapter extends Adapter<DiscordEndpointLike> {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
async
|
|
48
|
+
async removeMember(endpointId: string, sceneId: string, userId: string) {
|
|
48
49
|
const endpoint = this.endpoints.get(endpointId);
|
|
49
50
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
50
51
|
if (!isGatewayBot(endpoint)) throw new Error("群管仅支持 connection: gateway");
|
|
@@ -86,7 +87,7 @@ export class DiscordAdapter extends Adapter<DiscordEndpointLike> {
|
|
|
86
87
|
return endpoint.getMembers(sceneId);
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
async
|
|
90
|
+
async getSceneInfo(endpointId: string, sceneId: string) {
|
|
90
91
|
const endpoint = this.endpoints.get(endpointId);
|
|
91
92
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
92
93
|
if (!isGatewayBot(endpoint)) throw new Error("群管仅支持 connection: gateway");
|
package/src/endpoint.ts
CHANGED
|
@@ -17,24 +17,32 @@ import {
|
|
|
17
17
|
Routes,
|
|
18
18
|
ApplicationCommandData,
|
|
19
19
|
ChatInputCommandInteraction,
|
|
20
|
+
ButtonInteraction,
|
|
20
21
|
InteractionType,
|
|
21
22
|
InteractionResponseType,
|
|
22
23
|
GuildMember,
|
|
23
|
-
|
|
24
|
+
ActionRowBuilder,
|
|
25
|
+
ButtonBuilder,
|
|
26
|
+
ButtonStyle,
|
|
24
27
|
PermissionFlagsBits,
|
|
25
|
-
|
|
28
|
+
type MessageEditOptions as DiscordEditMessageOptions,
|
|
29
|
+
} from 'discord.js';
|
|
26
30
|
import {
|
|
27
31
|
Endpoint,
|
|
28
32
|
Message,
|
|
29
33
|
SendOptions,
|
|
30
34
|
SendContent,
|
|
31
35
|
MessageSegment,
|
|
32
|
-
segment,
|
|
36
|
+
segment,
|
|
37
|
+
expandInteractiveSegmentsInContent,
|
|
38
|
+
type EditMessageOptions,
|
|
39
|
+
} from 'zhin.js';
|
|
33
40
|
import type { DiscordGatewayConfig, DiscordChannelMessage } from "./types.js";
|
|
34
41
|
import type { DiscordAdapter } from "./adapter.js";
|
|
35
42
|
import { createReadStream } from "fs";
|
|
36
43
|
import { promises as fs } from "fs";
|
|
37
44
|
import path from "path";
|
|
45
|
+
import { fromCanonicalSegments, toCanonicalSegments } from './segment-mapper.js';
|
|
38
46
|
|
|
39
47
|
export class DiscordEndpoint
|
|
40
48
|
extends Client
|
|
@@ -122,19 +130,62 @@ export class DiscordEndpoint
|
|
|
122
130
|
}
|
|
123
131
|
}
|
|
124
132
|
|
|
133
|
+
private async handleButtonInteraction(interaction: ButtonInteraction): Promise<void> {
|
|
134
|
+
try {
|
|
135
|
+
await interaction.deferUpdate();
|
|
136
|
+
} catch {
|
|
137
|
+
// already acknowledged
|
|
138
|
+
}
|
|
139
|
+
const channel = interaction.channel;
|
|
140
|
+
if (!channel) return;
|
|
141
|
+
const channelType = channel.type === ChannelType.DM ? "private" : "group";
|
|
142
|
+
const message = Message.from(interaction, {
|
|
143
|
+
$id: interaction.id,
|
|
144
|
+
$adapter: "discord",
|
|
145
|
+
$endpoint: this.$config.name,
|
|
146
|
+
$sender: {
|
|
147
|
+
id: interaction.user.id,
|
|
148
|
+
name: interaction.user.username || interaction.user.displayName,
|
|
149
|
+
},
|
|
150
|
+
$channel: {
|
|
151
|
+
id: channel.id,
|
|
152
|
+
type: channelType,
|
|
153
|
+
},
|
|
154
|
+
$content: [{
|
|
155
|
+
type: "action",
|
|
156
|
+
data: {
|
|
157
|
+
id: interaction.customId,
|
|
158
|
+
payload: interaction.customId,
|
|
159
|
+
sourceMessageId: interaction.message?.id,
|
|
160
|
+
},
|
|
161
|
+
}],
|
|
162
|
+
$raw: interaction.customId,
|
|
163
|
+
$timestamp: Date.now(),
|
|
164
|
+
$recall: async () => {},
|
|
165
|
+
$reply: async (content: SendContent): Promise<string> => {
|
|
166
|
+
if (!interaction.channel?.isTextBased()) return "";
|
|
167
|
+
const result = await this.sendContentToChannel(interaction.channel as TextChannel, content);
|
|
168
|
+
return result.id;
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
this.adapter.emit("message.receive", message);
|
|
172
|
+
}
|
|
173
|
+
|
|
125
174
|
async $connect(): Promise<void> {
|
|
126
175
|
return new Promise((resolve, reject) => {
|
|
127
176
|
// 监听消息事件
|
|
128
177
|
this.on("messageCreate", this.handleDiscordMessage.bind(this));
|
|
129
178
|
|
|
130
|
-
// 监听交互事件(Slash Commands
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
179
|
+
// 监听交互事件(Slash Commands + 按钮)
|
|
180
|
+
this.on("interactionCreate", async (interaction) => {
|
|
181
|
+
if (interaction.isChatInputCommand() && this.$config.enableSlashCommands) {
|
|
182
|
+
await this.handleSlashCommand(interaction);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (interaction.isButton()) {
|
|
186
|
+
await this.handleButtonInteraction(interaction);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
138
189
|
|
|
139
190
|
// 监听就绪事件
|
|
140
191
|
this.once("clientReady", async () => {
|
|
@@ -204,7 +255,8 @@ export class DiscordEndpoint
|
|
|
204
255
|
}
|
|
205
256
|
|
|
206
257
|
// 转换消息内容为 segment 格式
|
|
207
|
-
const
|
|
258
|
+
const wire = this.parseMessageContent(msg);
|
|
259
|
+
const content = toCanonicalSegments(wire);
|
|
208
260
|
|
|
209
261
|
const sender = (() => {
|
|
210
262
|
const base = {
|
|
@@ -550,9 +602,11 @@ export class DiscordEndpoint
|
|
|
550
602
|
throw new Error(`Channel ${options.id} is not a text channel`);
|
|
551
603
|
}
|
|
552
604
|
|
|
605
|
+
const canonical = expandInteractiveSegmentsInContent(options.content);
|
|
606
|
+
const wire = fromCanonicalSegments(canonical);
|
|
553
607
|
const result = await this.sendContentToChannel(
|
|
554
608
|
channel as any,
|
|
555
|
-
|
|
609
|
+
wire
|
|
556
610
|
);
|
|
557
611
|
this.messageChannelMap.set(result.id, options.id);
|
|
558
612
|
this.pluginLogger.debug(
|
|
@@ -620,6 +674,25 @@ export class DiscordEndpoint
|
|
|
620
674
|
embeds.push(this.createEmbedFromData(data));
|
|
621
675
|
break;
|
|
622
676
|
|
|
677
|
+
case "keyboard": {
|
|
678
|
+
const components = (data.rows ?? []).map((row: Array<{ id: string; label: string; payload: string; disabled?: boolean; style?: string }>) =>
|
|
679
|
+
new ActionRowBuilder<ButtonBuilder>().addComponents(
|
|
680
|
+
...row.map((btn) => {
|
|
681
|
+
const b = new ButtonBuilder()
|
|
682
|
+
.setCustomId(String(btn.payload).slice(0, 100))
|
|
683
|
+
.setLabel(btn.label)
|
|
684
|
+
.setDisabled(!!btn.disabled);
|
|
685
|
+
if (btn.style === "danger") b.setStyle(ButtonStyle.Danger);
|
|
686
|
+
else if (btn.style === "primary") b.setStyle(ButtonStyle.Primary);
|
|
687
|
+
else b.setStyle(ButtonStyle.Secondary);
|
|
688
|
+
return b;
|
|
689
|
+
}),
|
|
690
|
+
),
|
|
691
|
+
);
|
|
692
|
+
messageOptions.components = components;
|
|
693
|
+
break;
|
|
694
|
+
}
|
|
695
|
+
|
|
623
696
|
default:
|
|
624
697
|
// 未知类型作为文本处理
|
|
625
698
|
textContent += data.text || `[${type}]`;
|
|
@@ -642,6 +715,43 @@ export class DiscordEndpoint
|
|
|
642
715
|
// 发送消息
|
|
643
716
|
return await channel.send(messageOptions);
|
|
644
717
|
}
|
|
718
|
+
|
|
719
|
+
async $editMessage(options: EditMessageOptions): Promise<void> {
|
|
720
|
+
const channel = await this.channels.fetch(options.id);
|
|
721
|
+
if (!channel || !channel.isTextBased()) {
|
|
722
|
+
throw new Error(`Channel ${options.id} is not a text channel`);
|
|
723
|
+
}
|
|
724
|
+
const msg = await (channel as TextChannel).messages.fetch(options.messageId);
|
|
725
|
+
const messageOptions: DiscordEditMessageOptions = {};
|
|
726
|
+
let textContent = "";
|
|
727
|
+
if (!Array.isArray(options.content)) options.content = [options.content];
|
|
728
|
+
for (const seg of options.content) {
|
|
729
|
+
if (typeof seg === "string") {
|
|
730
|
+
textContent += seg;
|
|
731
|
+
continue;
|
|
732
|
+
}
|
|
733
|
+
if (seg.type === "text") textContent += seg.data.text || "";
|
|
734
|
+
if (seg.type === "keyboard") {
|
|
735
|
+
messageOptions.components = (seg.data.rows ?? []).map((row: Array<{ label: string; payload: string; disabled?: boolean; style?: string }>) =>
|
|
736
|
+
new ActionRowBuilder<ButtonBuilder>().addComponents(
|
|
737
|
+
...row.map((btn) => {
|
|
738
|
+
const b = new ButtonBuilder()
|
|
739
|
+
.setCustomId(String(btn.payload).slice(0, 100))
|
|
740
|
+
.setLabel(btn.label)
|
|
741
|
+
.setDisabled(!!btn.disabled);
|
|
742
|
+
if (btn.style === "danger") b.setStyle(ButtonStyle.Danger);
|
|
743
|
+
else if (btn.style === "primary") b.setStyle(ButtonStyle.Primary);
|
|
744
|
+
else b.setStyle(ButtonStyle.Secondary);
|
|
745
|
+
return b;
|
|
746
|
+
}),
|
|
747
|
+
),
|
|
748
|
+
);
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
if (textContent.trim()) messageOptions.content = textContent.trim();
|
|
752
|
+
await msg.edit(messageOptions);
|
|
753
|
+
}
|
|
754
|
+
|
|
645
755
|
async $recallMessage(id: string): Promise<void> { }
|
|
646
756
|
|
|
647
757
|
// ==================== 服务器管理 API ====================
|
package/src/index.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Discord 适配器入口:单一适配器,支持 Gateway / Interactions(connection: gateway | interactions)
|
|
3
3
|
*/
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { usePlugin, type Plugin, type Context, type
|
|
5
|
+
import { usePlugin, type Plugin, type Context, type ISceneManagement, createSceneManagementTools, type ToolFeature } from "zhin.js";
|
|
6
6
|
import type { Router } from "@zhin.js/host-router";
|
|
7
7
|
import { PageManager } from "@zhin.js/host-api";
|
|
8
8
|
import { DiscordAdapter, type DiscordEndpointLike } from "./adapter.js";
|
|
@@ -47,12 +47,12 @@ provide({
|
|
|
47
47
|
useContext('tool', 'discord', (toolService: ToolFeature, discord: DiscordAdapter) => {
|
|
48
48
|
const disposers: (() => void)[] = [];
|
|
49
49
|
disposers.push(registerDiscordPlatformPermitChecker());
|
|
50
|
-
const
|
|
51
|
-
discord as unknown as
|
|
50
|
+
const sceneTools = createSceneManagementTools(
|
|
51
|
+
discord as unknown as ISceneManagement,
|
|
52
52
|
'discord',
|
|
53
53
|
{ permitResolver: discordGroupPermitResolver, registerChecker: false },
|
|
54
54
|
);
|
|
55
|
-
disposers.push(...
|
|
55
|
+
disposers.push(...sceneTools.map(t => toolService.addTool(t, plugin.name)));
|
|
56
56
|
|
|
57
57
|
function getGatewayBot(endpointId: string): DiscordEndpointLike {
|
|
58
58
|
const endpoint = discord.endpoints.get(endpointId);
|
package/src/platform-permit.ts
CHANGED
|
@@ -11,8 +11,8 @@ export function platformPermit(perm: string): string {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
const FACTORY_PERM_MAP: Record<string, string> = {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
scene_admin: 'moderate_members',
|
|
15
|
+
scene_owner: 'guild_owner',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export function discordGroupPermitResolver(logicalPerm: string): string {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { toCanonicalSegments, fromCanonicalSegments } from 'zhin.js';
|