Skip to content

Commit

Permalink
fix:新增#铃更新
Browse files Browse the repository at this point in the history
  • Loading branch information
yusheng929 committed Aug 27, 2024
1 parent 9fbad4e commit 1dfaf3b
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 39 deletions.
76 changes: 76 additions & 0 deletions apps/update.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { Update, plugin, common } from 'node-karin'
import { Restart, makeForwardMsg } from '#lib'
import { Version } from '#components'
import _ from 'lodash'

let uping = false
export class MusicUpdate extends plugin {
constructor () {
super({
name: '更新',
event: 'message',
priority: 1000,
rule: [
{
reg: '^#?铃(插件)?(强制)?更新$',
fnc: 'update',
permission: 'master'
},
{
reg: '^#?铃(插件)?更新日志$',
fnc: 'update_log',
permission: 'master'
}
]
})
}

async update (e = this.e) {
if (uping) {
e.reply(`正在更新${Version.pluginName},请稍后...`)
return false
}
uping = true
setTimeout(() => {
uping = false
}, 300 * 1000)

let [ name, cmd ] = [ Version.pluginName, 'git pull' ]
if (e.msg.includes('强制')) cmd = 'git reset --hard && git pull --allow-unrelated-histories'
try {
const { data } = await Update.update(Version.pluginPath, cmd)
const msg = `更新${name}...${_.isObject(data) ? `${data.message}\n${data.stderr}` : data}`
await this.replyForward(common.makeForward(msg))
if (!data.includes('更新成功')) return true
try {
await this.reply(`\n更新完成,开始重启 本次运行时间:${common.uptime()}`, { at: true })
const restart = new Restart(e)
restart.e = e
await restart.CmdRestart()
return true
} catch (error) {
return e.reply(`${Version.pluginName}重启失败,请手动重启以应用更新!`)
}
} catch (error) {
return e.reply(`更新失败:${error.message}`, { at: true })
} finally {
uping = false
}
return true
}

async update_log (e = this.e) {
try {
const data = (await Update.getCommit({ path: Version.pluginPath, count: 10 })).replace(/\n\s*\n/g, '\n')
const commitlist = data
.split('\n')
.filter(Boolean)
.map((item) => item.trimEnd())
e.reply(await makeForwardMsg(e, commitlist))
return true
} catch {
await e.reply(`\n获取更新日志失败:\n${e.msg}`, { at: true })
return true
}
}
}
4 changes: 3 additions & 1 deletion lib/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import puppeteer from './puppeteer.js'
import Restart from './restart.js'
import makeForwardMsg from './makeForwardMsg.js'

export { puppeteer }
export { puppeteer, Restart, makeForwardMsg }
10 changes: 10 additions & 0 deletions lib/makeForwardMsg.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Version } from '#components'
import common from 'node-karin'

const makeForwardMsg = await (async () => {
return async (e, elements) => {
return common.makeForward(elements, e.self_id, e.sender.name || e.sender.nick)
}
})()

export default makeForwardMsg
18 changes: 18 additions & 0 deletions lib/restart.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import fs from 'fs'
import path from 'path'
import { pathToFileURL } from 'url'
import { Version } from '#components'

const Restart = await (async () => {
const baseRestartPath = path.join(process.cwd(), 'plugins/karin-plugin-basic/apps/restart.js')
if (fs.existsSync(baseRestartPath)) {
const restartUrl = pathToFileURL(baseRestartPath).href
const { Restart } = await import(restartUrl)
return Restart
} else {
logger.error('未安装karin-plugin-basic (https://github.com/KarinJS/karin-plugin-basic),无法提供重启支持,请安装后重试!')
return false
}
})()

export default Restart
55 changes: 17 additions & 38 deletions resources/help/changelogs.html
Original file line number Diff line number Diff line change
Expand Up @@ -1277,59 +1277,38 @@

<body>
<article class="markdown-body">
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.1.1...v1.1.2">1.1.2</a> (2024-08-13)</h2>
<h3>Bug Fixes</h3>
<h1>更新日志</h1>
<h2><a href="https://github.com/yusheng929/karin-plugin-ling/compare/v1.2.0...v1.3.0">1.3.0</a> (2024-08-27)</h2>
<h3>Features</h3>
<ul>
<li>优化插件加载 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/869ea4b6232e6b72c89002a06149759f5489a695">869ea4b</a>)</li>
<li>add implementation info to state (<a href="https://github.com/yusheng929/karin-plugin-ling/issues/13">#13</a>) (<a href="https://github.com/yusheng929/karin-plugin-ling/commit/02583f26676ab026024314c9b53ed673e55866e7">02583f2</a>)</li>
<li>automatically agree group request (<a href="https://github.com/yusheng929/karin-plugin-ling/issues/14">#14</a>) (<a href="https://github.com/yusheng929/karin-plugin-ling/commit/8603adbc9f93ce0d07ca6ecab8db15e9f6381a0c">8603adb</a>)</li>
</ul>
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.1.0...v1.1.1">1.1.1</a> (2024-08-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add .gitignore (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/d308c2d41dd66922367fa1b40c76c12b4080ebdd">d308c2d</a>)</li>
<li>add img (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/5d2df99d3af6b9ea153d732793425bd946d030ef">5d2df99</a>)</li>
<li>edit .gitignore (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/3870bbcdb6b5895b7960ee08e283d3b036136c21">3870bbc</a>)</li>
<li>help.js (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/b0ff13916b3ac6ad8c2158c28661fbbfd8c617b1">b0ff139</a>)</li>
<li>img (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/dcab9815a11b90683fcc020a5d48a6cb78ad2c81">dcab981</a>)</li>
<li>优化禁言 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/1f9a30468e205a92a4405ff5c3ed515fc4ebb80d">1f9a304</a>)</li>
<li>修复#退群的权限问题 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/cd60981bdbbba5866809695031c4e1a8cdabdc69">cd60981</a>)</li>
<li>修复进群没有通知 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/7d84c3f406d9baee37ccfa02d54a567779002312">7d84c3f</a>)</li>
<li>修正进退群设置 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/f157f668e18ae2ebee949b5f6a7c9db893f6cdbb">f157f66</a>)</li>
<li>帮助图报错 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/73953876b2612dec79a1968aef1336f332f80b1e">7395387</a>)</li>
<li>推送测试禁言 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/6020f31dbb748b6f9a192acbf6d8bbccc71c7318">6020f31</a>)</li>
<li>新增#帮助 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/8379e9ed2d76bb821e8af44664849fefcf77d026">8379e9e</a>)</li>
<li>新增修改群昵称 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/e817edbdf4d48e71a16a9afbfd2e777f1f3e6b46">e817edb</a>)</li>
<li>新增进群通知,可单独群配置 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/ff92aae8859080042810687060ba5f3f7329a9f8">ff92aae</a>)</li>
<li>dependency missing (<a href="https://github.com/yusheng929/karin-plugin-ling/issues/12">#12</a>) (<a href="https://github.com/yusheng929/karin-plugin-ling/commit/66068ea32ac33f94dfae52536017ea0b9cc035ab">66068ea</a>)</li>
</ul>
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.0.1...v1.1.0">1.1.0</a> (2024-08-05)</h2>
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.1.5...v1.2.0">1.2.0</a> (2024-08-26)</h2>
<h3>Features</h3>
<ul>
<li>新增 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/a13f2ca0153bcf692cb55ac9d196a40b3c8b0810">a13f2ca</a>)</li>
<li>新增#获取禁言列表功能 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/f9b78e10ec6f8a6cf904b1ef3111dc48b6896290">f9b78e1</a>)</li>
<li>新增功能看头像 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/8c8bf11f6219747d841ba1443cd21de78a3cf842">8c8bf11</a>)</li>
<li>新增改群名 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/e931ea5f720a51c61462f2b0367e773e2cd9555b">e931ea5</a>)</li>
<li>更新readme.md (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/db44deff6a24f5732cac3a0d65383bd197e35eab">db44def</a>)</li>
<li>添加插件名称和优先级 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/a94ff37a3ddd32381ce2c74ec6d3835cd1d613d4">a94ff37</a>)</li>
<li>新增拉黑拉白,优化状态信息显示 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/0cb9c7e613801e0d957d20bf1afa74363356e3c0">0cb9c7e</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>修复缺少&quot;)&quot; (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/5b3387c2ff7c43717bfd032db3d9ad60b990869b">5b3387c</a>)</li>
<li>修复缺少&quot;)&quot; (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/7d5b3821a2cfa985e6fdab5e423d6bc2c53518af">7d5b382</a>)</li>
<li>修正禁言列表显示 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/2b37a0990efba18ce76b3aee3e384982308feba5">2b37a09</a>)</li>
<li>更新readme.md (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/7253dee388448f00e2edb5ee88f40cdf24180b87">7253dee</a>)</li>
<li>1 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/44231c0e9322b9ef7e65dcf3b2c590546ba49d52">44231c0</a>)</li>
<li>1 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/809a15d259e66812f0b71fd3fe8fbfca84029dcd">809a15d</a>)</li>
</ul>
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.0.0...v1.0.1">1.0.1</a> (2024-08-04)</h2>
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.1.4...v1.1.5">1.1.5</a> (2024-08-19)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>role (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/895e97d0a090bd67d2a0b9cdc36dac76a6d0356b">895e97d</a>)</li>
<li>修改为函数式语法 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/1d5d95edf6e9196fe4fff0d2d39089bd4309bbfb">1d5d95e</a>)</li>
<li>新增插件更新 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/de2ffb159c476c2f9e7f629e26771745088c72c9">de2ffb1</a>)</li>
<li>新增踢用户 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/5552b3f7bb76b23908875a7a5d8645c1f563c85c">5552b3f</a>)</li>
<li>修改package.json (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/5b4b822a3f3180929316e642a82f9bc376988adc">5b4b822</a>)</li>
<li>新增#系统信息 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/98fe402f6c36f7df67e705ffe5108e08243f2edb">98fe402</a>)</li>
</ul>
<h2>1.0.0 (2024-08-04)</h2>
<h3>Features</h3>
<h2><a href="https://github.com/Circle-money-run/karin-plugin-group/compare/v1.1.3...v1.1.4">1.1.4</a> (2024-08-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>插件诞生 (<a href="https://github.com/Circle-money-run/karin-plugin-Group/commit/b991d755f51eb9aa9e67b081c1e3706308605c67">b991d75</a>)</li>
<li>插件诞生 (<a href="https://github.com/Circle-money-run/karin-plugin-Group/commit/e9453d2945be800543f0f83aa79c03b7ab38b935">e9453d2</a>)</li>
<li>修改帮助图 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/ee6ce212162c4b275828d81675a9dc4193df5537">ee6ce21</a>)</li>
<li>新增帮助图 (<a href="https://github.com/Circle-money-run/karin-plugin-group/commit/49787761011b983f18e5a1827ec14b0aa221b064">4978776</a>)</li>
</ul>

</article>
Expand Down

0 comments on commit 1dfaf3b

Please sign in to comment.