@candriajs/karin-plugin-git 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # 变更日志
2
2
 
3
+ ## [1.3.0](https://github.com/CandriaJS/karin-plugin-git/compare/v1.2.0...v1.3.0) (2025-11-29)
4
+
5
+
6
+ ### ✨ 新功能
7
+
8
+ * **git:** 添加议题和提交变更的日志记录功能 ([cb7622b](https://github.com/CandriaJS/karin-plugin-git/commit/cb7622b875d7074137eb9ac52cf0a7ee18fd5121))
9
+
10
+
11
+ ### 🐛 错误修复
12
+
13
+ * **admin:** 修正仓库订阅事件处理逻辑 ([3fd76bf](https://github.com/CandriaJS/karin-plugin-git/commit/3fd76bfdcfd52ceb231d829328679b3e33b2e92a))
14
+
3
15
  ## [1.2.0](https://github.com/CandriaJS/karin-plugin-git/compare/v1.1.1...v1.2.0) (2025-11-12)
4
16
 
5
17
 
package/lib/apps/admin.js CHANGED
@@ -1 +1 @@
1
- import"../root-C9I_RrRd.js";import{a as e,c as t,d as n,f as r,i,m as a,n as o,o as s,p as c,s as l,u}from"../db-DZFBXSmG.js";import{a as d,c as f,i as p,n as m,o as h,r as g}from"../common-Df1uHYOv.js";import{n as _,t as v}from"../types-7HeFLBYV.js";import y from"node-karin";import{isEmpty as b}from"es-toolkit/compat";const x=y.command(/^#?git(?:添加|add)([^\s]+)?订阅仓库([^/\s]+)\/([^:\s]+)(?::([^/\s]+))?\s+([^/\s]+)?$/i,async t=>{let[,a,f,y,S,C]=t.msg.match(x.reg),w=C?C.toLocaleLowerCase().split(`,`).map(e=>e.trim()).filter(e=>e):[v.Push];w.length||w.push(v.Push);let T=t.selfId,E=t.groupId,D=_.GitHub,O;a?.toLowerCase()===`gitcode`?(D=_.GitCode,O=p()):a?.toLowerCase()===`gitee`?(D=_.Gitee,O=d()):a?.toLowerCase()===`cnb`?(D=_.Cnb,O=g()):(D=_.GitHub,O=h());let k=await n(T,E,f,y);if(k||=(await u(T,E,f,y),await n(T,E,f,y)),!k)return await t.reply(`添加订阅仓库失败,请重试`);let A=await i(D,k.id,w);if(A?await e(D,k.id,w):(await o(D,k.id,w),A=await i(D,k.id,w)),!A)return await t.reply(`添加仓库订阅事件失败,请重试`);let j=`添加订阅仓库成功, 平台: ${D}, 仓库: ${f}/${y}, 订阅类型: ${C}`,M=w.includes(v.Push);if(M){let e=S||(await O.getRepoInfo(f,y)).defaultBranch;await c(k.id,e)?j=`仓库 ${f}/${y} 的推送订阅已存在,平台: ${D}, 分支: ${e}`:(await r(A.id,e),j+=`, 分支: ${e}`)}let N=w.includes(v.Issue);if(N)if((await l(A.id)).length)j=`仓库 ${f}/${y} 的议题订阅已存在, 平台: ${D}`;else{let e=await O.getIssueList(f,y,{perPage:100});if(b(e))return await t.reply(`添加议题订阅失败,请重试`);for(let t of e)await s(A.id,t.number,m(t.title),t.body?m(t.body):null,t.state)}if(console.log(M,N),!M||!N)return await t.reply(`添加订阅仓库失败, 请检查订阅类型是否正确, 支持事件类型: push, issue`);await t.reply(j)},{name:`karin-plugin-git:admin:addRepo`,priority:500,event:`message.group`,permission:`master`}),S=y.command(/^#?git(?:移除|删除|remove)([^\s]+)?订阅仓库([^/\s]+)\/([^:\s]+)(?::([^/\s]+))?\s+([^/\s]+)?$/i,async r=>{let[,o,s,u,d,f]=r.msg.match(S.reg),p=r.selfId,m=r.groupId,h=_.GitHub,g=f?f.toLocaleLowerCase().split(`,`).map(e=>e.trim()).filter(e=>e):[v.Push];g.length||g.push(v.Push),o?.toLowerCase()===`gitcode`?h=_.GitCode:o?.toLowerCase()===`gitee`?h=_.Gitee:o?.toLowerCase()===`cnb`&&(h=_.Cnb);let y=await n(p,m,s,u);if(!y)return await r.reply(`未找到该仓库, 删除失败,请重试`);let b=await i(h,y.id,g);if(!b)return await r.reply(`未找到该订阅事件, 删除失败,请重试`);let x=g.includes(v.Push);if(x){let t=b.eventType.filter(e=>e!==v.Push);if(await e(h,y.id,t),!await c(b.id,d))return await r.reply(`推送订阅不存在,删除失败`);await a(b.id,d)}let C=g.includes(v.Issue);if(C){let n=b.eventType.filter(e=>e!==v.Issue);if(await e(h,y.id,n),!await l(b.id))return await r.reply(`议题订阅不存在,删除失败`);await t(b.id)}if(!x||!C)return await r.reply(`添加订阅仓库失败, 请检查订阅类型是否正确, 支持事件类型: push, issue`);await r.reply(`删除订阅仓库成功, 平台: ${h}, 仓库: ${s}/${u}, 订阅类型: ${g.join(`,`)}`)},{name:`karin-plugin-git:admin:removeRepo`,priority:500,event:`message.group`,permission:`master`}),C=y.command(/^#?git(?:设置|set)([^\s]+)?(?:token|访问令牌)([\s\S]+)$/i,async e=>{let[,t,n]=e.msg.match(C.reg),r=_.GitHub;t?.toLowerCase()===`gitcode`?r=_.GitCode:t?.toLowerCase()===`gitee`?r=_.Gitee:t?.toLowerCase()===`cnb`&&(r=_.Cnb),f.Modify(r,`token`,n),await e.reply(`设置${r}访问令牌成功`)},{name:`karin-plugin-git:admin:SetToken`,priority:500,event:`message.friend`,permission:`master`});export{x as AddRepo,S as RemoveRepo,C as SetToken};
1
+ import"../root-C9I_RrRd.js";import{a as e,c as t,d as n,f as r,i,m as a,n as o,o as s,p as c,s as l,u}from"../db-DZFBXSmG.js";import{a as d,c as f,i as p,n as m,o as h,r as g}from"../common-Df1uHYOv.js";import{n as _,t as v}from"../types-7HeFLBYV.js";import y from"node-karin";import{isEmpty as b}from"es-toolkit/compat";const x=y.command(/^#?git(?:添加|add)([^\s]+)?订阅仓库([^/\s]+)\/([^:\s]+)(?::([^/\s]+))?(?:\s+([^/\s]+))?$/i,async t=>{let[,a,f,y,S,C]=t.msg.match(x.reg),w=C?C.toLocaleLowerCase().split(`,`).map(e=>e.trim()).filter(e=>e):[v.Push];w.length||w.push(v.Push);let T=t.selfId,E=t.groupId,D=_.GitHub,O;a?.toLowerCase()===`gitcode`?(D=_.GitCode,O=p()):a?.toLowerCase()===`gitee`?(D=_.Gitee,O=d()):a?.toLowerCase()===`cnb`?(D=_.Cnb,O=g()):(D=_.GitHub,O=h());let k=await n(T,E,f,y);if(k||=(await u(T,E,f,y),await n(T,E,f,y)),!k)return await t.reply(`添加订阅仓库失败,请重试`);let A=await i(D,k.id,w);if(A?await e(D,k.id,w):(await o(D,k.id,w),A=await i(D,k.id,w)),!A)return await t.reply(`添加仓库订阅事件失败,请重试`);let j=`添加订阅仓库成功, 平台: ${D}, 仓库: ${f}/${y}, 订阅类型: ${w.join(`,`)}`,M=w.includes(v.Push);if(M){let e=S||(await O.getRepoInfo(f,y)).defaultBranch;await c(A.id,e)?j=`仓库 ${f}/${y} 的推送订阅已存在,平台: ${D}, 分支: ${e}`:(await r(A.id,e),j+=`, 分支: ${e}`)}let N=w.includes(v.Issue);if(N)if((await l(A.id)).length)j=`仓库 ${f}/${y} 的议题订阅已存在, 平台: ${D}`;else{let e=await O.getIssueList(f,y,{perPage:100});if(b(e))return await t.reply(`添加议题订阅失败,请重试`);for(let t of e)await s(A.id,t.number,m(t.title),t.body?m(t.body):null,t.state)}console.log(M,N),await t.reply(j)},{name:`karin-plugin-git:admin:addRepo`,priority:500,event:`message.group`,permission:`master`}),S=y.command(/^#?git(?:移除|删除|remove)([^\s]+)?订阅仓库([^/\s]+)\/([^:\s]+)(?::([^/\s]+))?(?:\s+([^/\s]+))?$/i,async r=>{let[,o,s,u,d,f]=r.msg.match(S.reg),p=r.selfId,m=r.groupId,h=_.GitHub,g=f?f.toLocaleLowerCase().split(`,`).map(e=>e.trim()).filter(e=>e):[v.Push];g.length||g.push(v.Push),o?.toLowerCase()===`gitcode`?h=_.GitCode:o?.toLowerCase()===`gitee`?h=_.Gitee:o?.toLowerCase()===`cnb`&&(h=_.Cnb);let y=await n(p,m,s,u);if(!y)return await r.reply(`未找到该仓库, 删除失败,请重试`);let b=await i(h,y.id,g);if(!b)return await r.reply(`未找到该订阅事件, 删除失败,请重试`);if(g.includes(v.Push)){let t=b.eventType.filter(e=>e!==v.Push);if(await e(h,y.id,t),!await c(b.id,d))return await r.reply(`推送订阅不存在,删除失败`);await a(b.id,d)}if(g.includes(v.Issue)){let n=b.eventType.filter(e=>e!==v.Issue);if(await e(h,y.id,n),!await l(b.id))return await r.reply(`议题订阅不存在,删除失败`);await t(b.id)}await r.reply(`删除订阅仓库成功, 平台: ${h}, 仓库: ${s}/${u}, 订阅类型: ${g.join(`,`)}`)},{name:`karin-plugin-git:admin:removeRepo`,priority:500,event:`message.group`,permission:`master`}),C=y.command(/^#?git(?:设置|set)([^\s]+)?(?:token|访问令牌)([\s\S]+)$/i,async e=>{let[,t,n]=e.msg.match(C.reg),r=_.GitHub;t?.toLowerCase()===`gitcode`?r=_.GitCode:t?.toLowerCase()===`gitee`?r=_.Gitee:t?.toLowerCase()===`cnb`&&(r=_.Cnb),f.Modify(r,`token`,n),await e.reply(`设置${r}访问令牌成功`)},{name:`karin-plugin-git:admin:SetToken`,priority:500,event:`message.friend`,permission:`master`});export{x as AddRepo,S as RemoveRepo,C as SetToken};
package/lib/apps/issue.js CHANGED
@@ -1 +1 @@
1
- import"../root-C9I_RrRd.js";import{d as e,l as t,o as n,r,s as i}from"../db-DZFBXSmG.js";import{a,c as o,i as s,n as c,o as l,r as u,s as d,t as f}from"../common-Df1uHYOv.js";import{n as p,t as m}from"../types-7HeFLBYV.js";import h,{common as g,contactGroup as _,getBot as v,logger as y}from"node-karin";import{isEmpty as b}from"es-toolkit/compat";const x=h.task(`karin-plugin-git:issue:github`,o.github.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.github;if(b(e))return y.warn(`未配置GitHub Token, 跳过任务`);try{await T(l(),p.GitHub)}catch(e){y.error(e)}}),S=h.task(`karin-plugin-git:issue:gitee`,o.gitee.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.gitee;if(b(e))return y.warn(`未配置Gitee Token, 跳过任务`);try{await T(a(),p.Gitee)}catch(e){y.error(e)}}),C=h.task(`karin-plugin-git:issue:gitcode`,o.gitcode.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.gitcode;if(b(e))return y.warn(`未配置GitCode Token, 跳过任务`);try{await T(s(),p.GitCode)}catch(e){y.error(e)}}),w=h.task(`karin-plugin-git:issue:cnb`,o.cnb.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.cnb;if(b(e))return y.warn(`未配置CnbCool Token, 跳过任务`);try{await T(u(),p.Cnb)}catch(e){y.error(e)}}),T=async(a,o)=>{let s=await r(o,m.Push),l=new Map;for(let r of s){let o=await e(r.repoId);if(!o)continue;let s=`${o.groupId}-${o.botId}`,u=await a.getIssueList(o.owner,o.repo,{perPage:100});l.has(s)||l.set(s,[]);for(let e of u){let a=await i(r.id,e.number);a||=(await n(r.id,e.number,c(e.title),e.body?c(e.body):null,e.state),l.get(s).push({owner:o.owner,repo:o.repo,title:await d.markdown(e.title),body:e.body?await d.markdown(e.body):null,user:e.user,state:e.state,issueDate:f(e.createdAt)}),await i(r.id,e.number)),a&&(a.state!==e.state||a.title!==c(e.title)||a.body!==(e.body?c(e.body):null))&&(l.get(s).push({owner:o.owner,repo:o.repo,title:await d.markdown(e.title),body:e.body?await d.markdown(e.body):null,user:e.user,state:e.state,issueDate:f(e.createdAt)}),await t(r.id,e.number,e.state))}}for(let[e,t]of l){let[n,r]=e.split(`-`),i=t.map(async e=>await d.render(`issue/index`,{issue:e})),a=(await Promise.allSettled(i)).filter(e=>e.status===`fulfilled`&&e.value!==null).map(e=>e.value);a.length>0&&await E(r,n,a)}l.clear()},E=async(e,t,n)=>{let r=v(e),i=await _(t);if(n.length>1){let t=await g.makeForward(n,e,r?.account.name);await r?.sendForwardMsg(i,t,{source:`议题推送合集`,summary:`查看${t.length}张议题推送消息`,prompt:`议题推送结果`,news:[{text:`点击查看议题推送结果`}]})}else await r?.sendMsg(i,n)};export{w as cnb,C as gitcode,S as gitee,x as github};
1
+ import"../root-C9I_RrRd.js";import{d as e,l as t,o as n,r,s as i}from"../db-DZFBXSmG.js";import{a,c as o,i as s,n as c,o as l,r as u,s as d,t as f}from"../common-Df1uHYOv.js";import{n as p,t as m}from"../types-7HeFLBYV.js";import h,{common as g,contactGroup as _,getBot as v,logger as y}from"node-karin";import{isEmpty as b}from"es-toolkit/compat";const x=h.task(`karin-plugin-git:issue:github`,o.github.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.github;if(b(e))return y.warn(`未配置GitHub Token, 跳过任务`);try{await T(l(),p.GitHub)}catch(e){y.error(e)}}),S=h.task(`karin-plugin-git:issue:gitee`,o.gitee.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.gitee;if(b(e))return y.warn(`未配置Gitee Token, 跳过任务`);try{await T(a(),p.Gitee)}catch(e){y.error(e)}}),C=h.task(`karin-plugin-git:issue:gitcode`,o.gitcode.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.gitcode;if(b(e))return y.warn(`未配置GitCode Token, 跳过任务`);try{await T(s(),p.GitCode)}catch(e){y.error(e)}}),w=h.task(`karin-plugin-git:issue:cnb`,o.cnb.cron||`0 */5 * * * *`,async()=>{let{token:e}=o.cnb;if(b(e))return y.warn(`未配置CnbCool Token, 跳过任务`);try{await T(u(),p.Cnb)}catch(e){y.error(e)}}),T=async(a,o)=>{let s=await r(o,m.Issue),l=new Map;for(let r of s){let o=await e(r.repoId);if(!o)continue;let s=`${o.groupId}-${o.botId}`,u=await a.getIssueList(o.owner,o.repo,{perPage:100});l.has(s)||l.set(s,[]);for(let e of u){let a=await i(r.id,e.number);if(a||(await n(r.id,e.number,c(e.title),e.body?c(e.body):null,e.state),l.get(s).push({owner:o.owner,repo:o.repo,title:await d.markdown(e.title),body:e.body?await d.markdown(e.body):null,user:e.user,state:e.state,issueDate:f(e.createdAt)}),a=await i(r.id,e.number),y.debug(`[karin-plugin-git] 平台: ${r.platform} 仓库:${o.owner}/${o.repo} 议题变更`)),!a){y.debug(`[karin-plugin-git] 平台: ${r.platform} 仓库:${o.owner}/${o.repo} 议题无变更`);continue}(a.state!==e.state||a.title!==c(e.title)||a.body!==(e.body?c(e.body):null))&&(l.get(s).push({owner:o.owner,repo:o.repo,title:await d.markdown(e.title),body:e.body?await d.markdown(e.body):null,user:e.user,state:e.state,issueDate:f(e.createdAt)}),y.debug(`[karin-plugin-git] 平台: ${r.platform} 仓库:${o.owner}/${o.repo} 议题变更`),await t(r.id,e.number,e.state))}}for(let[e,t]of l){let[n,r]=e.split(`-`),i=t.map(async e=>await d.render(`issue/index`,{issue:e})),a=(await Promise.allSettled(i)).filter(e=>e.status===`fulfilled`&&e.value!==null).map(e=>e.value);a.length>0&&await E(r,n,a)}l.clear()},E=async(e,t,n)=>{let r=v(e),i=await _(t);if(n.length>3){let t=await g.makeForward(n,e,r?.account.name);await r?.sendForwardMsg(i,t,{source:`议题推送合集`,summary:`查看${t.length}张议题推送消息`,prompt:`议题推送结果`,news:[{text:`点击查看议题推送结果`}]})}else await r?.sendMsg(i,n)};export{w as cnb,C as gitcode,S as gitee,x as github};
package/lib/apps/push.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import"../root-C9I_RrRd.js";import{d as e,f as t,h as n,p as r,r as i,s as a}from"../db-DZFBXSmG.js";import{a as o,c as s,i as c,o as l,r as u,s as d,t as f}from"../common-Df1uHYOv.js";import{n as p,t as m}from"../types-7HeFLBYV.js";import h,{common as g,contactGroup as _,getBot as v,logger as y}from"node-karin";import{isEmpty as b}from"es-toolkit/compat";const x=h.task(`karin-plugin-git:push:github`,s.github.cron||`0 */5 * * * *`,async()=>{let e=s.github.token;if(b(e))return y.warn(`未配置GitHub Token, 跳过任务`);try{await E(l(),p.GitHub)}catch(e){y.error(e)}}),S=h.task(`karin-plugin-git:push:gitee`,s.gitee.cron||`0 */5 * * * *`,async()=>{let e=s.gitee.token;if(b(e))return y.warn(`Gitee Token, 跳过任务`);try{await E(o(),p.Gitee)}catch(e){y.error(e)}}),C=h.task(`karin-plugin-git:push:gitee`,s.gitcode.cron||`0 */5 * * * *`,async()=>{let e=s.gitcode.token;if(b(e))return y.warn(`GitCode Token, 跳过任务`);try{await E(c(),p.GitCode)}catch(e){y.error(e)}}),w=h.task(`karin-plugin-git:push:cnb`,s.cnb.cron||`0 */5 * * * *`,async()=>{let e=s.cnb.token;if(b(e))return y.warn(`未配置CnbCool Token, 跳过任务`);try{await E(u(),p.Cnb)}catch(e){y.error(e)}}),T=h.command(/^#?git(?:推送|push)订阅仓库$/i,async t=>{try{let n=t.selfId,m=t.groupId,h=await i(),g,_=[];for(let i of h){let h=await e(i.repoId);if(!h)continue;if(i.platform==p.Gitee){if(b(s.gitee.token))return await t.reply(`未配置Gitee Token, 请先配置Gitee Token`);g=o()}else if(i.platform==p.GitCode){if(b(s.gitcode.token))return await t.reply(`未配置GitCode Token, 请先配置GitCode Token`);g=c()}else if(i.platform==p.Cnb){if(b(s.cnb.token))return await t.reply(`Cnb Token, 请先配置Cnb Token`);g=u()}else{if(b(s.github.token))return await t.reply(`未配置GitHub Token, 请先配置GitHub Token`);g=l()}let v=(await r(i.id)).map(async e=>{try{let t=await g.getCommitInfo(h.owner,h.repo,e.branch),r=t.commit.message.split(`
2
2
  `),i={...t,owner:h.owner,repo:h.repo,branch:e.branch,botId:n,groupId:m,title:await d.markdown(r[0]),body:await d.markdown(r.slice(1).join(`
3
- `)),commitDate:f(t.commit.committer.date)};return await d.render(`commit/index`,{commit:i})}catch(t){return y.warn(`获取仓库 ${h.owner}/${h.repo} 分支 ${e.branch} 提交信息失败:`,t),null}}),x=(await Promise.allSettled(v)).filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null);_.push(...x);let S=(await a(i.id)).map(async e=>{if(b(e))return null;let t=await g.getIssueInfo(h.owner,h.repo,e.issueId),n={owner:h.owner,repo:h.repo,title:await d.markdown(t.title),body:t.body?await d.markdown(t.body):null,user:t.user,state:t.state,issueDate:f(t.createdAt)};return await d.render(`issue/index`,{issue:n})}),C=(await Promise.allSettled(S)).filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null);_.push(...C)}_.length>0&&await D(n,m,_)}catch(e){y.error(e)}},{name:`karin-plugin-git:pushRepo`,priority:500,event:`message.group`,permission:`master`}),E=async(a,o)=>{let s=await i(o,m.Push);if(b(s))return;let c=new Map;for(let i of s){let o=await e(i.repoId);if(!o)continue;let s=`${o.groupId}-${o.botId}`,l=await r(i.id);if(b(l)){let{defaultBranch:e}=await a.getRepoInfo(o.owner,o.repo);await t(i.id,e),l=await r(i.repoId)}for(let e of l){let t=await a.getCommitInfo(o.owner,o.repo,e.branch);!t||t.sha===e.commitSha||(c.has(s)||c.set(s,[]),c.get(s).push({pushRepo:e,pushRepoInfo:o,commitInfo:t}),await n(e.eventId,e.branch,t.sha))}}for(let[e,t]of c.entries()){let[n,r]=e.split(`-`),i=t.map(async e=>{let t=e.commitInfo.commit.message.split(`
3
+ `)),commitDate:f(t.commit.committer.date)};return await d.render(`commit/index`,{commit:i})}catch(t){return y.warn(`获取仓库 ${h.owner}/${h.repo} 分支 ${e.branch} 提交信息失败:`,t),null}}),x=(await Promise.allSettled(v)).filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null);_.push(...x);let S=(await a(i.id)).map(async e=>{if(b(e))return null;let t=await g.getIssueInfo(h.owner,h.repo,e.issueId),n={owner:h.owner,repo:h.repo,title:await d.markdown(t.title),body:t.body?await d.markdown(t.body):null,user:t.user,state:t.state,issueDate:f(t.createdAt)};return await d.render(`issue/index`,{issue:n})}),C=(await Promise.allSettled(S)).filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null);_.push(...C)}_.length>0&&await D(n,m,_)}catch(e){y.error(e)}},{name:`karin-plugin-git:pushRepo`,priority:500,event:`message.group`,permission:`master`}),E=async(a,o)=>{let s=await i(o,m.Push);if(b(s))return;let c=new Map;for(let i of s){let o=await e(i.repoId);if(!o)continue;let s=`${o.groupId}-${o.botId}`,l=await r(i.id);if(b(l)){let{defaultBranch:e}=await a.getRepoInfo(o.owner,o.repo);await t(i.id,e),l=await r(i.repoId)}for(let e of l){let t=await a.getCommitInfo(o.owner,o.repo,e.branch);if(!t||t.sha===e.commitSha){y.debug(`[karin-plugin-git] 平台: ${i.platform} 仓库:${o.owner}/${o.repo} 分支: ${e.branch} 提交信息无变更`);continue}c.has(s)||c.set(s,[]),c.get(s).push({pushRepo:e,pushRepoInfo:o,commitInfo:t}),y.debug(`[karin-plugin-git] 平台: ${i.platform} 仓库:${o.owner}/${o.repo} 分支: ${e.branch} 提交信息变更`),await n(e.eventId,e.branch,t.sha)}}for(let[e,t]of c.entries()){let[n,r]=e.split(`-`),i=t.map(async e=>{let t=e.commitInfo.commit.message.split(`
4
4
  `),n={...e.commitInfo,owner:e.pushRepoInfo.owner,repo:e.pushRepoInfo.repo,branch:e.pushRepo.branch,botId:e.pushRepoInfo.botId,groupId:e.pushRepoInfo.groupId,title:await d.markdown(t[0]),body:await d.markdown(t.slice(1).join(`
5
- `)),commitDate:f(e.commitInfo.commit.committer.date)};return await d.render(`commit/index`,{commit:n})}),a=(await Promise.allSettled(i)).filter(e=>e.status===`fulfilled`&&e.value!==null).map(e=>e.value);a.length>0&&await D(r,n,a)}},D=async(e,t,n)=>{let r=v(e),i=await _(t);if(n.length>1){let t=await g.makeForward(n,e,r?.account.name);await r?.sendForwardMsg(i,t,{source:`仓库推送合集`,summary:`查看${t.length}张仓库推送消息`,prompt:`Gitub仓库推送结果`,news:[{text:`点击查看推送结果`}]})}else await r?.sendMsg(i,n)};export{w as cnb,C as gitcode,S as gitee,x as github,T as push};
5
+ `)),commitDate:f(e.commitInfo.commit.committer.date)};return await d.render(`commit/index`,{commit:n})}),a=(await Promise.allSettled(i)).filter(e=>e.status===`fulfilled`&&e.value!==null).map(e=>e.value);a.length>0&&await D(r,n,a)}},D=async(e,t,n)=>{let r=v(e),i=await _(t);if(n.length>3){let t=await g.makeForward(n,e,r?.account.name);await r?.sendForwardMsg(i,t,{source:`仓库推送合集`,summary:`查看${t.length}张仓库推送消息`,prompt:`Gitub仓库推送结果`,news:[{text:`点击查看推送结果`}]})}else await r?.sendMsg(i,n)};export{w as cnb,C as gitcode,S as gitee,x as github,T as push};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@candriajs/karin-plugin-git",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "一个karin的git平台仓库订阅推送",
5
5
  "keywords": [
6
6
  "karin-plugin",