{"version":"https:\/\/jsonfeed.org\/version\/1.1","title":"\u6d3e\u8499Bot","home_page_url":" https:\/\/richeyjang.github.io\/PaimengBot\/","feed_url":" https:\/\/richeyjang.github.io\/PaimengBot\/feed.json","description":"\u4e00\u4e2a\u4f7f\u7528Onebot\u534f\u8bae\u3001\u57fa\u4e8eZeroBot\u7684QQ\u5a31\u4e50\u673a\u5668\u4eba","author":{"name":"RicheyJang"},"items":[{"title":"Proxy\u6587\u6863","url":" https:\/\/richeyjang.github.io\/PaimengBot\/develop\/proxy\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/develop\/proxy\/","content_html":"<h1 id=\"proxy\u6587\u6863\"> Proxy\u6587\u6863<\/h1>\n<p>\u63d0\u4f9b\uff1a\u7edf\u4e00\u63d2\u4ef6\u914d\u7f6e\u7ba1\u7406\u3001\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3001K-V\u6570\u636e\u5e93\u3001\u5b9a\u65f6\u4efb\u52a1\u3001\u63d2\u4ef6\u7528\u6237\u7ea7\u9501\u3001\u8c03\u7528\u9650\u5236\u5668\u3002<\/p>\n<p>\u4f4d\u4e8emanager\/proxy.go\u6587\u4ef6\uff0c\u6ce8\u91ca\u4e5f\u6bd4\u8f83\u8be6\u5c3d\uff0c\u5c3d\u91cf\u53c2\u9605\u6ce8\u91ca\u5427\u3002<\/p>\n<h2 id=\"\u7edf\u4e00\u63d2\u4ef6\u914d\u7f6e\u7ba1\u7406\"> \u7edf\u4e00\u63d2\u4ef6\u914d\u7f6e\u7ba1\u7406<\/h2>\n<p>\u6240\u6709\u63d2\u4ef6\u914d\u7f6e\u6536\u5f52\u5230config-plugin.yaml\u6587\u4ef6\uff0c\u901a\u8fc7<code>proxy.AddConfig<\/code>\u51fd\u6570\uff0c\u4f1a\u81ea\u52a8\u6dfb\u52a0\u4e00\u4e2a\u914d\u7f6e\u9879\uff1b\u901a\u8fc7<code>proxy.GetConfig<\/code>\u7cfb\u5217\u51fd\u6570\uff0c\u53ef\u4ee5\u83b7\u53d6\u8be5\u63d2\u4ef6\u7684\u6307\u5b9a\u914d\u7f6e\u9879\u503c\u3002<\/p>\n<div><p>\u4f8b\u5b50<\/p>\n<p>\u5728echo\u63d2\u4ef6\u7684init\u51fd\u6570\u4e2d\u8c03\u7528proxy.AddConfig(&quot;times&quot;, 3)\u6765\u65b0\u589e\u4e00\u4e2a\u914d\u7f6e\u9879\uff0c\u4f1a\u5728config-plugin.yaml\u6587\u4ef6\u4e2d\u81ea\u52a8\u6dfb\u52a0\u4e00\u4e2a<code>echo.times<\/code>\u914d\u7f6e\u9879\uff0c\u9ed8\u8ba4\u503c\u4e3a3\u3002<\/p>\n<p>\u5728echo\u63d2\u4ef6\u7684EchoHandler\u4e2d\u8c03\u7528proxy.GetConfigString(&quot;times&quot;)\u6765\u83b7\u53d6<code>echo.times<\/code>\u914d\u7f6e\u9879\u7684\u503c\uff0c\u5e76\u81ea\u52a8\u8f6c\u4e3astring\u7c7b\u578b\u3002<\/p>\n<\/div>\n<h2 id=\"\u5173\u7cfb\u578b\u6570\u636e\u5e93\"> \u5173\u7cfb\u578b\u6570\u636e\u5e93<\/h2>\n<p>\u6d3e\u8499Bot\u5df2\u7ecf\u521d\u59cb\u5316\u597d\u4e86\u4e00\u4e2a\u6570\u636e\u5e93\u8fde\u63a5\uff0c\u76f4\u63a5\u901a\u8fc7<code>proxy.GetDB()<\/code>\u5373\u53ef\u83b7\u53d6\u4e00\u4e2a\u5df2\u5efa\u7acb\u8fde\u63a5\u7684<code>*gorm.DB<\/code>\uff0c\u76f4\u63a5CURD\u5373\u53ef\u3002<\/p>\n<p>gorm\u6587\u6863\uff1a<a href=\"https:\/\/gorm.io\/zh_CN\/docs\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">gorm<\/a><\/p>\n<p><strong>\u6ce8\u610f<\/strong>\uff01\u82e5\u60f3\u5728\u5355\u72ec\u7684model.go\u6587\u4ef6init\u51fd\u6570\u4e2d\u521d\u59cb\u5316\u5373<code>AutoMigrate<\/code>\u4e00\u4e2amodel\uff0c\u8bf7\u4e0d\u8981\u4f7f\u7528<code>proxy.GetDB()<\/code>\uff0c\u56e0\u4e3a\u6b64\u65f6proxy\u53ef\u80fd\u8fd8\u6ca1\u6709\u88ab\u521d\u59cb\u5316\uff0c\u53ef\u4ee5\u8fd9\u6837\u8fdb\u884c\u4ee3\u66ff\uff1a<\/p>\n<div><pre><code><span>import<\/span> <span>(<\/span>\n\t<span>\"github.com\/RicheyJang\/PaimengBot\/manager\"<\/span>\n\tlog <span>\"github.com\/sirupsen\/logrus\"<\/span>\n<span>)<\/span>\n\n<span>type<\/span> SomeModel <span>struct<\/span> <span>{<\/span>\n\tID    <span>int<\/span>    <span>`gorm:\"column:id;primaryKey\"`<\/span>\n\tValue <span>string<\/span>\n<span>}<\/span>\n\n<span>func<\/span> <span>init<\/span><span>(<\/span><span>)<\/span> <span>{<\/span>\n\terr <span>:=<\/span> manager<span>.<\/span><span>GetDB<\/span><span>(<\/span><span>)<\/span><span>.<\/span><span>AutoMigrate<\/span><span>(<\/span><span>&amp;<\/span>SomeModel<span>{<\/span><span>}<\/span><span>)<\/span> <span>\/\/ manager\u5305\u5168\u5c40\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5df2\u521d\u59cb\u5316\u597d\u7684*gorm.DB\uff0c\u4e13\u95e8\u7528\u4e8eAutoMigrate<\/span>\n\t<span>if<\/span> err <span>!=<\/span> <span>nil<\/span> <span>{<\/span>\n\t\tlog<span>.<\/span><span>Errorf<\/span><span>(<\/span><span>\"[SQL] SomeModel \u521d\u59cb\u5316\u5931\u8d25, err: %v\"<\/span><span>,<\/span> err<span>)<\/span>\n\t<span>}<\/span>\n<span>}<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><span>12<\/span><br><span>13<\/span><br><span>14<\/span><br><span>15<\/span><br><span>16<\/span><br><\/div><\/div><h2 id=\"k-v\u6570\u636e\u5e93\"> K-V\u6570\u636e\u5e93<\/h2>\n<p>\u6d3e\u8499Bot\u4f7f\u7528<code>goleveldb<\/code>\u4f5c\u4e3aK-V\u6570\u636e\u5e93\uff0c\u901a\u8fc7<code>proxy.GetLevelDB()<\/code>\u5373\u53ef\u83b7\u53d6\u4e00\u4e2a\u5df2\u521d\u59cb\u5316\u597d\u7684<code>*leveldb.DB<\/code>\u3002<\/p>\n<p>goleveldb\u4ed3\u5e93\uff1a<a href=\"https:\/\/github.com\/syndtr\/goleveldb\" target=\"_blank\" rel=\"noopener noreferrer\">Github<\/a><\/p>\n<h2 id=\"\u5b9a\u65f6\u4efb\u52a1\"> \u5b9a\u65f6\u4efb\u52a1<\/h2>\n<p>\u60f3\u6bcf\u59292\u70b9\u73ed\u6267\u884c\u67d0\u4e2a\u4efb\u52a1\uff1f\u60f3\u6bcf\u969430\u79d2\u6267\u884c\u67d0\u4e2a\u4efb\u52a1\uff1f\u60f3\u57282\u5206\u949f\u540e\u6267\u884c\u4e00\u6b21\u67d0\u4e2a\u4efb\u52a1\uff1f\u60f3\u5728\u6bcf\u4e2a\u67081\u53f7\u768413\u70b9\u6267\u884c\u67d0\u4e2a\u4efb\u52a1\uff1f<\/p>\n<p>\u6d3e\u8499Bot\u7684proxy\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5b9a\u65f6\u4efb\u52a1\u76f8\u5173\u51fd\u6570\uff0c\u6536\u5f52\u7edf\u4e00\u7ba1\u7406\uff1a\u4f8b\u5982\u53ef\u4ee5\u901a\u8fc7PluginCondition\u7684Disabled\u65b9\u6cd5\u5173\u95ed\u8be5\u63d2\u4ef6\u6240\u6709\u5b9a\u65f6\u4efb\u52a1\u3002<\/p>\n<div><pre><code><span>\/\/ AddScheduleFunc \u6dfb\u52a0\u5b9a\u65f6\u4efb\u52a1\uff0c\u5e76\u81ea\u52a8\u542f\u52a8: spec\u4e3a\u4e00\u4e2a\u6807\u51c6cron\u8868\u8fbe\u5f0f<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>AddScheduleFunc<\/span><span>(<\/span>spec <span>string<\/span><span>,<\/span> fn <span>func<\/span><span>(<\/span><span>)<\/span><span>)<\/span> <span>(<\/span>id cron<span>.<\/span>EntryID<span>,<\/span> err <span>error<\/span><span>)<\/span>\n<span>\/\/ AddScheduleEveryFunc \u4fbf\u643a\u6dfb\u52a0\u5b9a\u65f6\u4efb\u52a1\uff0c\u56fa\u5b9a\u65f6\u95f4\u95f4\u9694\u6267\u884c\uff0cduration\u7b26\u5408time.ParseDuration<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>AddScheduleEveryFunc<\/span><span>(<\/span>duration <span>string<\/span><span>,<\/span> fn <span>func<\/span><span>(<\/span><span>)<\/span><span>)<\/span> <span>(<\/span>id cron<span>.<\/span>EntryID<span>,<\/span> err <span>error<\/span><span>)<\/span> \n<span>\/\/ AddScheduleDailyFunc \u4fbf\u643a\u6dfb\u52a0\u5b9a\u65f6\u4efb\u52a1\uff0c\u6bcf\u5929hour:minute\u65f6\u6267\u884c<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>AddScheduleDailyFunc<\/span><span>(<\/span>hour<span>,<\/span> minute <span>int<\/span><span>,<\/span> fn <span>func<\/span><span>(<\/span><span>)<\/span><span>)<\/span> <span>(<\/span>id cron<span>.<\/span>EntryID<span>,<\/span> err <span>error<\/span><span>)<\/span>\n<span>\/\/ AddScheduleOnceFunc \u4fbf\u643a\u6dfb\u52a0\u5b9a\u65f6\u4efb\u52a1\uff0c\u5728\u7b49\u5f85period\uff08period&lt;1\u5e74\uff09\u65f6\u957f\u540e\u6267\u884c\u4ec5\u4e00\u6b21<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>AddScheduleOnceFunc<\/span><span>(<\/span>period time<span>.<\/span>Duration<span>,<\/span> fn <span>func<\/span><span>(<\/span><span>)<\/span><span>)<\/span> <span>(<\/span>id cron<span>.<\/span>EntryID<span>,<\/span> err <span>error<\/span><span>)<\/span>\n<span>\/\/ DeleteSchedule \u5220\u9664\u6307\u5b9aid\u5b9a\u65f6\u4efb\u52a1<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>DeleteSchedule<\/span><span>(<\/span>id cron<span>.<\/span>EntryID<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><\/div><\/div><h2 id=\"\u5176\u5b83\"> \u5176\u5b83<\/h2>\n<p>TODO<\/p>\n","date_published":"2022-01-29T04:13:09.000Z","date_modified":"2022-03-04T04:33:21.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5\u6d3e\u8499Bot","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/bot\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/bot\/","content_html":"<h1 id=\"\u5b89\u88c5\u6d3e\u8499bot\"> \u5b89\u88c5\u6d3e\u8499Bot<\/h1>\n<h2 id=\"\u6700\u540e\u7684\u914d\u7f6e\"> \u6700\u540e\u7684\u914d\u7f6e<\/h2>\n<p>\u6700\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u5728superuser\u914d\u7f6e\u9879\uff08\u662f\u4e00\u4e2aYAML\u5b57\u7b26\u4e32\u6570\u7ec4\u7c7b\u578b\uff09\u4e2d\uff0c\u6dfb\u52a0\u4e0a\u4f60\u81ea\u5df1\u7684QQ\u53f7\uff08\u4f5c\u4e3a\u8d85\u7ea7\u7528\u6237\u7ba1\u7406\u6d3e\u8499Bot\uff09\u3002<\/p>\n<p><img src=\".\/..\/pic\/superuserconfig.jpg\" alt=\"superuser\" loading=\"lazy\"><\/p>\n<h2 id=\"\u8fd0\u884c\"> \u8fd0\u884c<\/h2>\n<p>\u7c7b\u4f3c<a href=\".\/#\u7b2c\u4e00\u6b21\u542f\u52a8\">\u7b2c\u4e00\u6b21\u542f\u52a8<\/a>\uff0c\u518d\u6b21\u8fd0\u884c\u6d3e\u8499\u673a\u5668\u4eba\u3002<\/p>\n<p><strong>\u6ce8\u610f<\/strong>\uff01\u6d3e\u8499Bot\u548cGo-cqhttp\u90fd\u8981\u6301\u7eed\u8fd0\u884c\uff0c\u7f3a\u4e00\u4e0d\u53ef\u3002<\/p>\n<h2 id=\"\u957f\u671f\u90e8\u7f72\"> \u957f\u671f\u90e8\u7f72<\/h2>\n<p>\u6d3e\u8499Bot\u652f\u6301\u4ee5\u670d\u52a1\u65b9\u5f0f\u5728\u540e\u53f0\u8fd0\u884c\uff0c\u8fdb\u5165\u6d3e\u8499Bot\u76ee\u5f55\uff0c\u6267\u884c\uff1a<\/p>\n<div><pre><code>.\/paimeng -d\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>Go-cqhttp\u4e5f\u652f\u6301\u4ee5\u670d\u52a1\u65b9\u5f0f\u5728\u540e\u53f0\u8fd0\u884c\uff0c\u4f46\u9700\u8981\u4ee5\u5bc6\u7801\u65b9\u5f0f\u767b\u5f55\u8fc7\uff0c\u5e76\u4fdd\u8bc1\u670d\u52a1\u65b9\u5f0f\u542f\u52a8\u65f6\u65e0\u9700\u8f93\u5bc6\u7801\u3001\u626b\u7801\u3001\u6ed1\u6761\u7b49\u64cd\u4f5c\uff0c\u8fdb\u5165Go-cqhttp\u76ee\u5f55\uff0c\u6267\u884c\uff1a<\/p>\n<div><pre><code>.\/go-cqhttp -d\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u4f46\u662f\uff0c\u5f88\u591a\u60c5\u51b5\u4e0b\uff0c\u4ecd\u9700\u8fdb\u884c\u8f93\u5bc6\u7801\u3001\u626b\u7801\u3001\u6ed1\u6761\u7b49\u64cd\u4f5c\uff0c\u6240\u4ee5\u5efa\u8bae\u4f7f\u7528<code>Screen<\/code>\u6216<code>Tmux<\/code>\u7b49\u4f1a\u8bdd\u4fdd\u6301\u5de5\u5177\u6765\u4fdd\u8bc1Go-cqhttp\u7684\u6301\u7eed\u8fd0\u884c\u3002<\/p>\n<p><strong>\u5982\u679c\u542f\u52a8\u6210\u529f\uff0c\u90a3\u4e48\u4f60\u5c31\u53ef\u4ee5\u5feb\u4e50\u5730\u4e0e\u6d3e\u8499Bot\u73a9\u800d\u5566<\/strong><\/p>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-01-09T09:50:40.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5f00\u53d1\u6587\u6863","url":" https:\/\/richeyjang.github.io\/PaimengBot\/develop\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/develop\/","content_html":"<h1 id=\"\u5f00\u53d1\u6587\u6863\"> \u5f00\u53d1\u6587\u6863<\/h1>\n<h2 id=\"\u57fa\u672c\u4ecb\u7ecd\"> \u57fa\u672c\u4ecb\u7ecd<\/h2>\n<p>\u6d3e\u8499Bot\u4f7f\u7528\u63d2\u4ef6\u5f0f\u7edf\u4e00\u7ba1\u7406\uff0c\u7528\u4ee5\u63d0\u4f9b\u5e2e\u52a9\u3001\u9650\u6d41\u3001\u9274\u6743\u7b49\u80fd\u529b\u3002\u5f00\u53d1\u8bed\u8a00Golang\uff0c\u56e0\u6b64\u7406\u8bba\u6027\u80fd\u8981\u6bd4\u4f7f\u7528python\u5f00\u53d1\u7684\u673a\u5668\u4eba\u9ad8\u51fa\u4e0d\u5c11\u3002<\/p>\n<p>\u63a8\u8350Golang\u6559\u7a0b\uff1a<a href=\"https:\/\/golang.iswbm.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">iswbm<\/a><\/p>\n<h2 id=\"\u63d2\u4ef6\u5f00\u53d1\"> \u63d2\u4ef6\u5f00\u53d1<\/h2>\n<p><strong>\u63d2\u4ef6\u7ba1\u7406\u5668\u6240\u5728\u5305\uff1amanager<\/strong><\/p>\n<p>\u5f00\u53d1\u4e00\u4e2a\u65b0\u63d2\u4ef6\u65f6\uff0c\u8bf7\u5728plugins\u76ee\u5f55\u4e0b\u65b0\u5efa\u4e00\u4e2a\u76ee\u5f55\uff0c\u5176\u76ee\u5f55\u540d(\u5305\u540d)\u4f1a\u88abmanager\u81ea\u52a8\u6cbf\u7528\u4e3a\u63d2\u4ef6Key\uff0c\u7528\u4e8e\u8fdb\u884c\u63d2\u4ef6\u914d\u7f6e\u3001\u9650\u6d41\u7ba1\u7406\u7b49\u7b49\u3002<\/p>\n<div><p>\u4f8b\u5b50<\/p>\n<p>\u4f8b\u5982\uff0c\u5f00\u53d1\u4e00\u4e2a\u590d\u8bfb\u63d2\u4ef6\uff0c\u5728plugins\u76ee\u5f55\u4e0b\u65b0\u5efa\u76ee\u5f55echo\uff0c\u5728echo\u4e0b\u521b\u5efaecho.go\u6587\u4ef6\uff0c\u5b83\u7684\u63d2\u4ef6Key\u5c06\u4f1a\u81ea\u52a8\u8bbe\u4e3aecho\uff0c\u5728config-plugin.yaml\u6587\u4ef6\u4e2d\uff0c\u8be5\u63d2\u4ef6\u7684\u914d\u7f6e\u9879\u5c06\u4f1a\u4ee5<code>echo<\/code>\u4e3a\u6839\u3002<\/p>\n<\/div>\n<h3 id=\"\u521d\u59cb\u5316\"> \u521d\u59cb\u5316<\/h3>\n<p>\u9996\u5148\uff0c\u4e3a\u4f60\u7684\u65b0\u63d2\u4ef6\u58f0\u660e\u4e00\u4e2a<code>manager.PluginInfo<\/code>\u7c7b\u578b\u53d8\u91cf\uff0c\u7528\u4ee5\u63cf\u8ff0\u63d2\u4ef6\u4fe1\u606f\u3002<\/p>\n<p><code>manager.PluginInfo<\/code>\u7ed3\u6784\u5b9a\u4e49\uff1a<\/p>\n<div><pre><code><span>\/\/ PluginInfo \u63d2\u4ef6\u4fe1\u606f<\/span>\n<span>type<\/span> PluginInfo <span>struct<\/span> <span>{<\/span>\n\tName        <span>string<\/span> <span>\/\/ [\u5fc5\u586b] \u63d2\u4ef6\u540d\u79f0<\/span>\n\tUsage       <span>string<\/span> <span>\/\/ [\u5fc5\u586b] \u63d2\u4ef6\u7528\u6cd5\u63cf\u8ff0\uff1a\u4f1a\u5728\u63d2\u4ef6\u5e2e\u52a9\u8be6\u60c5\u4e2d\u5c55\u793a<\/span>\n\n\tSuperUsage  <span>string<\/span> <span>\/\/ [\u9009\u586b] \u63d2\u4ef6\u8d85\u7ea7\u7528\u6237\u7528\u6cd5\u63cf\u8ff0<\/span>\n\tClassify    <span>string<\/span> <span>\/\/ [\u9009\u586b] \u63d2\u4ef6\u5206\u7c7b\uff0c\u4e3a\u7a7a\u65f6\u4ee3\u8868\u9ed8\u8ba4\u5206\u7c7b<\/span>\n\tIsPassive   <span>bool<\/span>   <span>\/\/ [\u9009\u586b] \u662f\u5426\u4e3a\u88ab\u52a8\u63d2\u4ef6\uff1a\u5728\u5e2e\u52a9\u4e2d\u88ab\u6807\u8bc6\u4e3a\u88ab\u52a8\u529f\u80fd\uff1b<\/span>\n\tIsSuperOnly <span>bool<\/span>   <span>\/\/ [\u9009\u586b] \u662f\u5426\u4e3a\u8d85\u7ea7\u7528\u6237\u4e13\u5c5e\u63d2\u4ef6\uff1a\u82e5true\uff0c\u6d88\u606f\u6027\u4e8b\u4ef6\u4f1a\u81ea\u52a8\u52a0\u4e0aSuperOnly\u68c0\u67e5\uff1b\u5728\u5e2e\u52a9\u4e2d\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u79c1\u804a\u53ef\u89c1\uff1b<\/span>\n\tAdminLevel  <span>int<\/span>    <span>\/\/ [\u9009\u586b] \u7fa4\u7ba1\u7406\u5458\u4f7f\u7528\u6700\u4f4e\u7ea7\u522b\uff1a 0 \u8868\u793a\u975e\u7fa4\u7ba1\u7406\u5458\u4e13\u7528\u63d2\u4ef6 >0 \u8868\u793a\u6570\u5b57\u8d8a\u4f4e\uff0c\u6743\u9650\u8981\u6c42\u8d8a\u9ad8\uff1b\u4f1a\u5728\u5e2e\u52a9\u4e2d\u8fdb\u884c\u6807\u8bc6\uff1b\u914d\u7f6e\u6587\u4ef6\u4e2d \u63d2\u4ef6Key.adminlevel \u914d\u7f6e\u9879\u4f18\u5148\u7ea7\u9ad8\u4e8e\u6b64\u9879<\/span>\n<span>}<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><\/div><\/div><p>\u968f\u540e\uff0c\u58f0\u660e\u4e00\u4e2a<code>*manager.PluginProxy<\/code>\u7c7b\u578b\u53d8\u91cf\uff0c\u7528\u6765\u4f5c\u4e3a\u63d2\u4ef6\u4ee3\u7406 \u4f7f\u7528\u63d2\u4ef6\u7ba1\u7406\u5668\u63d0\u4f9b\u7684\u5404\u9879\u80fd\u529b\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\uff0c\u5728<code>init<\/code>\u51fd\u6570\u4e2d\uff0c\u8c03\u7528<code>manager.RegisterPlugin(info manager.PluginInfo)<\/code>\u51fd\u6570\u6765\u521d\u59cb\u5316\u4f60\u7684<code>*manager.PluginProxy<\/code>\u3002<\/p>\n<p>\u81f3\u6b64\uff0c\u4f60\u7684\u65b0\u63d2\u4ef6\uff08\u4ee5echo\u4e3a\u4f8b\uff09\u5e94\u8be5\u662f\u8fd9\u4e2a\u6837\u5b50\uff1a<\/p>\n<div><pre><code><span>package<\/span> echo\n\n<span>import<\/span> <span>(<\/span>\n\t<span>\"github.com\/RicheyJang\/PaimengBot\/manager\"<\/span>\n\t\n\tzero <span>\"github.com\/wdvxdr1123\/ZeroBot\"<\/span>\n<span>)<\/span>\n\n<span>var<\/span> info <span>=<\/span> manager<span>.<\/span>PluginInfo<span>{<\/span> <span>\/\/ [1] \u58f0\u660e\u63d2\u4ef6\u4fe1\u606f\u7ed3\u6784\u53d8\u91cf<\/span>\n\tName<span>:<\/span> <span>\"\u590d\u8bfb\"<\/span><span>,<\/span>\n\tUsage<span>:<\/span> <span>`\n\u7528\u6cd5\uff1a\n\techo [\u590d\u8bfb\u5185\u5bb9]\uff1a\u5c06echo\u540e\u7684\u5185\u5bb9\u8fdb\u884c\u590d\u8bfb\n`<\/span><span>,<\/span>\n<span>}<\/span>\n<span>var<\/span> proxy <span>*<\/span>manager<span>.<\/span>PluginProxy <span>\/\/ [2] \u58f0\u660e\u63d2\u4ef6\u4ee3\u7406\u53d8\u91cf<\/span>\n\n<span>func<\/span> <span>init<\/span><span>(<\/span><span>)<\/span> <span>{<\/span>\n\tproxy <span>=<\/span> manager<span>.<\/span><span>RegisterPlugin<\/span><span>(<\/span>info<span>)<\/span> <span>\/\/ [3] \u4f7f\u7528\u63d2\u4ef6\u4fe1\u606f\u521d\u59cb\u5316\u63d2\u4ef6\u4ee3\u7406<\/span>\n\t<span>if<\/span> proxy <span>==<\/span> <span>nil<\/span> <span>{<\/span> <span>\/\/ \u82e5\u521d\u59cb\u5316\u5931\u8d25\uff0c\u8bf7return\uff0c\u5931\u8d25\u539f\u56e0\u4f1a\u5728\u65e5\u5fd7\u4e2d\u6253\u5370<\/span>\n\t\t<span>return<\/span>\n\t<span>}<\/span>\n\t<span>\/\/ [4] \u6b64\u5904\u8fdb\u884c\u5176\u5b83\u521d\u59cb\u5316\u64cd\u4f5c<\/span>\n<span>}<\/span>\n\n<span>\/\/ [5] \u5176\u5b83\u4ee3\u7801\u5b9e\u73b0<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><span>12<\/span><br><span>13<\/span><br><span>14<\/span><br><span>15<\/span><br><span>16<\/span><br><span>17<\/span><br><span>18<\/span><br><span>19<\/span><br><span>20<\/span><br><span>21<\/span><br><span>22<\/span><br><span>23<\/span><br><span>24<\/span><br><span>25<\/span><br><span>26<\/span><br><\/div><\/div><h3 id=\"\u5b9a\u4e49\u4e8b\u4ef6\u5904\u7406\"> \u5b9a\u4e49\u4e8b\u4ef6\u5904\u7406<\/h3>\n<div><p>Onebot\u57fa\u7840\u77e5\u8bc6<\/p>\n<p>\u6d3e\u8499Bot\u5168\u9762\u57fa\u4e8e<a href=\"https:\/\/github.com\/botuniverse\/onebot-11\" target=\"_blank\" rel=\"noopener noreferrer\">Onebot v11\u534f\u8bae<\/a>\uff0cOnebot\u91c7\u7528\u4e8b\u4ef6\u4e0eAPI\u7cfb\u7edf\uff1a\u6536\u5230\u65b0\u6d88\u606f\u3001\u6536\u5230\u597d\u53cb\u8bf7\u6c42\u3001\u6536\u5230\u7fa4\u9080\u8bf7\u7b49\u7b49\u7686\u4e3a\u7531\u524d\u7aef\uff08\u5982go-cqhttp\uff09\u63a8\u9001\u7ed9\u540e\u7aef\uff08\u5982\u6d3e\u8499Bot\uff09\u7684\u4e8b\u4ef6\uff0c\u540e\u7aef\u4f1a\u5bf9\u4e8b\u4ef6\u8fdb\u884c\u5904\u7406\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7\u4e00\u5b9a\u7684\u65b9\u5f0f\u6765\u8c03\u7528\u524d\u7aefAPI\uff1a\u5982\u53d1\u9001\u5404\u7c7b\u6d88\u606f\u3001\u64a4\u56de\u6d88\u606f\u3001\u540c\u610f\u597d\u53cb\u8bf7\u6c42\u7b49\u7b49\u3002<\/p>\n<\/div>\n<p>proxy\u521d\u59cb\u5316\u540e\uff0c\u4fbf\u53ef\u4ee5\u4f7f\u7528proxy\u63d0\u4f9b\u7684\u80fd\u529b\u4e86\u3002<\/p>\n<p>\u6700\u5e38\u7528\u7684\u4fbf\u662f\u5b9a\u4e49\u67d0\u4e2a\u4e8b\u4ef6\u7684\u5904\u7406\u51fd\u6570\uff08Handler\uff09\u3002\u4f8b\u5982\uff0c\u60f3\u8981\u5728\u6536\u5230\u4ee5<code>\u590d\u8bfb<\/code>\u6216<code>echo<\/code>\u5f00\u5934\u7684\u6d88\u606f\u65f6\u8fdb\u884c\u4e00\u5b9a\u7684\u5904\u7406\uff0c\u4fbf\u53ef\u4ee5\uff1a<\/p>\n<div><pre><code>proxy<span>.<\/span><span>OnCommands<\/span><span>(<\/span><span>[<\/span><span>]<\/span><span>string<\/span><span>{<\/span><span>\"\u590d\u8bfb\"<\/span><span>,<\/span><span>\"echo\"<\/span><span>}<\/span><span>)<\/span><span>.<\/span><span>SetBlock<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>.<\/span><span>FirstPriority<\/span><span>(<\/span><span>)<\/span><span>.<\/span><span>Handle<\/span><span>(<\/span>EchoHandler<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p><code>OnCommands<\/code>\u8fd9\u7c7b\u4ee5On\u5f00\u5934\u7684\u51fd\u6570\u4e3a\u4e8b\u4ef6\u6ce8\u518c\u51fd\u6570\uff0c\u4f1a\u9488\u5bf9\u67d0\u4e00\u7c7b\u4e8b\u4ef6\u8fdb\u884c\u6ce8\u518c\u4ee5\u63d0\u4f9b\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u3002\u540c\u7c7b\u578b\u7684\u51fd\u6570\u6709\uff1a<\/p>\n<div><pre><code><span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>OnCommands<\/span><span>(<\/span>cmd <span>[<\/span><span>]<\/span><span>string<\/span><span>,<\/span> rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406\u6d88\u606f\u5185\u5bb9\u4ee5cmd\u4e2d\u4efb\u610f\u4e00\u9879\u5f00\u5934\u7684\u6d88\u606f\u4e8b\u4ef6\uff0c\u6d88\u606f\u5185\u5bb9\u4e2d\u5269\u4e0b\u7684\u90e8\u5206\u5219\u4e3a\u53c2\u6570<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>OnRegex<\/span><span>(<\/span>reg <span>string<\/span><span>,<\/span> rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406\u6d88\u606f\u5185\u5bb9\u6ee1\u8db3reg\u6b63\u5219\u7684\u6d88\u606f\u4e8b\u4ef6<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>OnFullMatch<\/span><span>(<\/span>cmd <span>[<\/span><span>]<\/span><span>string<\/span><span>,<\/span> rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406\u6d88\u606f\u5185\u5bb9\u4e0ecmd\u4e2d\u4efb\u610f\u4e00\u9879\u5b8c\u5168\u76f8\u540c\u7684\u6d88\u606f\u4e8b\u4ef6<\/span>\n\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>On<\/span><span>(<\/span>tp <span>string<\/span><span>,<\/span> rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406[tp]\u7c7b\u578b\u4e8b\u4ef6<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>OnMessage<\/span><span>(<\/span>rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406\u6d88\u606f\u7c7b\u578b\u4e8b\u4ef6<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>OnRequest<\/span><span>(<\/span>rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406Request\u7c7b\u578b\u4e8b\u4ef6<\/span>\n<span>func<\/span> <span>(<\/span>p <span>*<\/span>PluginProxy<span>)<\/span> <span>OnNotice<\/span><span>(<\/span>rules <span>...<\/span>zero<span>.<\/span>Rule<span>)<\/span> <span>*<\/span>zero<span>.<\/span>Matcher <span>\/\/ \u5904\u7406Notice\u7c7b\u578b\u4e8b\u4ef6<\/span>\n<span>\/\/ \u4e0a\u8ff0\u4e09\u79cd\u7c7b\u578b\u53c2\u89c1Onebot\u534f\u8bae<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><\/div><\/div><p>\u53ef\u4ee5\u6ce8\u610f\u5230\uff0c\u6bcf\u4e2a\u4e8b\u4ef6\u6ce8\u518c\u51fd\u6570\u53c2\u6570\u4e2d\u90fd\u5305\u542b\u4e86<code>rules ...zero.Rule<\/code>\uff0c\u5b83\u662f\u4e00\u7cfb\u5217\u8fc7\u6ee4\u51fd\u6570\uff0c\u51fd\u6570\u5b9a\u4e49\u5982\u4e0b\uff0c\u53ea\u6709\u6240\u6709\u8fc7\u6ee4\u51fd\u6570\u7686\u8fd4\u56detrue\uff0c\u8be5\u4e8b\u4ef6\u624d\u4f1a\u88ab\u4f60\u6240\u6307\u5b9a\u7684Handler\u5904\u7406\u3002<\/p>\n<div><pre><code><span>func<\/span><span>(<\/span>ctx <span>*<\/span>zero<span>.<\/span>Ctx<span>)<\/span> <span>bool<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u56de\u5f52\u6b64\u524d\u7684\u4e8b\u4ef6\u6ce8\u518c\uff0c\u5728<code>OnCommand<\/code>\u540e\u7684\u5404\u4e2a\u51fd\u6570\uff1a<\/p>\n<div><pre><code><span>SetBlock<\/span><span>(<\/span><span>true<\/span><span>)<\/span> <span>\/\/ \u4ee3\u8868\u7ecf\u8fc7\u6b64Handler\u5904\u7406\u540e\uff0c\u5176\u5b83\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u4e0d\u518d\u5904\u7406\u6b64\u6b21\u4e8b\u4ef6\uff0c\u4e00\u822c\u9700\u8981\u8bbe\u4e3atrue\uff0c\u9632\u6b62\u540c\u4e00\u4e8b\u4ef6\u88ab\u591a\u4e2a\u63d2\u4ef6\u5904\u7406<\/span>\n<span>FirstPriority<\/span><span>(<\/span><span>)<\/span> <span>\/\/ \u6b64Handler\u7684\u4f18\u5148\u7ea7\uff0c\u540c\u7c7b\u578b\u51fd\u6570\u8fd8\u6709SetPriority(int)<\/span>\n<span>Handle<\/span><span>(<\/span>EchoHandler<span>)<\/span> <span>\/\/ \u6307\u5b9aHandler\u4e3aEchoHandler\u51fd\u6570<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><\/div><\/div><p>\u800c\u4e00\u4e2aHandler\uff08\u4f8b\u5982EchoHandler\uff09\u7684\u7c7b\u578b\u5e94\u8be5\u4e3a\uff1a<\/p>\n<div><pre><code><span>func<\/span> <span>(<\/span>ctx <span>*<\/span>zero<span>.<\/span>Ctx<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u5728Handler\u53caRule\u7684\u5b9a\u4e49\u4e2d\u90fd\u51fa\u73b0\u4e86zero.Ctx\uff0c\u5b83\u662fZeroBot\u6846\u67b6\uff08\u4e00\u4e2a\u5b9e\u73b0\u4e86Onebot\u534f\u8bae\u7684Go\u540e\u7aef\u6846\u67b6\uff0c\u6d3e\u8499Bot\u662f\u5bf9\u5b83\u7684\u4e0a\u5c42\u5c01\u88c5\uff09\u6240\u63d0\u4f9b\u7684\u4e8b\u4ef6\u4e0a\u4e0b\u6587\uff0c\u5e38\u7528\u5c5e\u6027\u6216\u65b9\u6cd5\u6709\uff1a<\/p>\n<div><pre><code>ctx<span>.<\/span>Event <span>\/\/ \u6b64\u6b21\u4e8b\u4ef6\u7684\u5185\u5bb9<\/span>\nctx<span>.<\/span><span>MessageString<\/span><span>(<\/span><span>)<\/span> <span>string<\/span> <span>\/\/ \u83b7\u53d6\u6d88\u606f\u4e8b\u4ef6\u7684\u6d88\u606f\u7eaf\u6587\u672c\u5185\u5bb9<\/span>\nctx<span>.<\/span><span>Send<\/span><span>(<\/span>message <span>interface<\/span><span>{<\/span><span>}<\/span><span>)<\/span> <span>int64<\/span> <span>\/\/ \u5feb\u6377\u5411\u6d88\u606f\u53d1\u9001\u8005\u53d1\u9001\u4e00\u6761\u6d88\u606f\uff0c\u8fd4\u56de\u6d88\u606fID<\/span>\nctx<span>.<\/span><span>SendChain<\/span><span>(<\/span>message <span>...<\/span>message<span>.<\/span>MessageSegment<span>)<\/span> <span>int64<\/span> <span>\/\/ \u4ee5\u6d88\u606f\u94fe\u7684\u65b9\u5f0f\u5411\u6d88\u606f\u53d1\u9001\u8005\u53d1\u9001\u4e00\u6761\u6d88\u606f<\/span>\n<span>\/\/ \u5176\u5b83\u8bf7\u53c2\u89c1zerobot.Ctx\u5b9a\u4e49<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><\/div><\/div><p>\u4f8b\u5982\uff0c\u4e0a\u8ff0\u4f8b\u5b50\u7684EchoHandler\uff0c\u5176\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<div><pre><code><span>func<\/span> <span>EchoHandler<\/span><span>(<\/span>ctx <span>*<\/span>zero<span>.<\/span>Ctx<span>)<\/span> <span>{<\/span>\n\tstr <span>:=<\/span> utils<span>.<\/span><span>GetArgs<\/span><span>(<\/span>ctx<span>)<\/span> <span>\/\/ \u6d3e\u8499Bot\u63d0\u4f9b\u7684\u5de5\u5177\u51fd\u6570\uff0c\u7528\u4e8e\u83b7\u53d6\u6b64\u6b21\u4e8b\u4ef6\u7684\u6d88\u606f\u53c2\u6570\u5185\u5bb9<\/span>\n\ttm <span>:=<\/span> proxy<span>.<\/span><span>GetConfigInt64<\/span><span>(<\/span><span>\"times\"<\/span><span>)<\/span> <span>\/\/ proxy\u63d0\u4f9b\u7684\u7edf\u4e00\u914d\u7f6e\u9879\u7ba1\u7406\u529f\u80fd\uff0c\u6b64\u51fd\u6570\u7528\u4e8e\u83b7\u53d6int64\u7c7b\u578b\u7684times\u914d\u7f6e\u9879\u503c<\/span>\n\t<span>for<\/span> i <span>:=<\/span> <span>int64<\/span><span>(<\/span><span>0<\/span><span>)<\/span><span>;<\/span> i <span>&lt;<\/span> tm<span>;<\/span> i<span>++<\/span> <span>{<\/span>\n\t\tctx<span>.<\/span><span>Send<\/span><span>(<\/span>str<span>)<\/span>\n\t<span>}<\/span>\n<span>}<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><\/div><\/div><div><p>\u91cd\u8981<\/p>\n<p>\u6d3e\u8499Bot\u4f5c\u4e3a\u4e00\u4e2a\u8f83\u4e3a\u5b8c\u6bd5\u7684Onebot\u540e\u7aef\u6846\u67b6\uff0c\u65e0\u8bba\u662f\u63d2\u4ef6\u4ee3\u7406proxy\u8fd8\u662f\u5de5\u5177\u5305utils\uff0c\u90fd\u63d0\u4f9b\u4e86\u5927\u91cf\u56fa\u6709\u80fd\u529b\uff1a\u5982<strong>\u7edf\u4e00\u63d2\u4ef6\u914d\u7f6e\u7ba1\u7406\u3001\u5b9a\u65f6\u4efb\u52a1\u3001\u63d2\u4ef6\u7528\u6237\u7ea7\u9501\u3001\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3001K-V\u6570\u636e\u5e93\u3001\u5feb\u6377\u83b7\u53d6\u6307\u5b9a\u6d88\u606f\u5185\u5bb9\u30012D\u7ed8\u56fe\u3001\u53ef\u91cd\u8bd5\u7684Http Client\u3001\u5b57\u7b26\u4e32\u5904\u7406<\/strong>\u7b49\u7b49\uff0c\u65e0\u9700\u81ea\u5df1\u9020\u8f6e\u5b50\uff0c\u8be6\u7ec6\u8bf7\u53c2\u89c1<a href=\"proxy\">proxy\u6587\u6863<\/a>\u548c<a href=\"utils\">\u5de5\u5177\u5305\u6587\u6863<\/a>\u3002<\/p>\n<\/div>\n<h3 id=\"\u5b8c\u6574\u590d\u8bfb\u63d2\u4ef6\u793a\u4f8b\"> \u5b8c\u6574\u590d\u8bfb\u63d2\u4ef6\u793a\u4f8b\uff1a<\/h3>\n<p>\u6700\u540e\uff0c\u5199\u5b8c\u4e00\u4e2a\u63d2\u4ef6\u540e\uff0c\u522b\u5fd8\u5728cmd\/main.go\u6587\u4ef6\u7684import\u4e2d\u5f15\u7528\u8be5\u63d2\u4ef6\u6240\u5728\u7684\u5305\uff0c\u4ee5\u542f\u7528\u8be5\u63d2\u4ef6\uff0c\u4f8b\u5982\uff1a<\/p>\n<div><pre><code><span>\/\/ cmd\/main.go\u4e2d<\/span>\n<span>import<\/span> <span>(<\/span>\n\t<span>\/\/ ...\u5176\u5b83\u5305<\/span>\n\t<span>_<\/span> <span>\"github.com\/RicheyJang\/PaimengBot\/plugins\/echo\"<\/span>\n<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><\/div><\/div><div><pre><code><span>package<\/span> echo\n\n<span>import<\/span> <span>(<\/span>\n\t<span>\"github.com\/RicheyJang\/PaimengBot\/manager\"<\/span>\n\t<span>\"github.com\/RicheyJang\/PaimengBot\/utils\"<\/span>\n\t\n\tzero <span>\"github.com\/wdvxdr1123\/ZeroBot\"<\/span>\n<span>)<\/span>\n\n<span>var<\/span> info <span>=<\/span> manager<span>.<\/span>PluginInfo<span>{<\/span> <span>\/\/ [1] \u58f0\u660e\u63d2\u4ef6\u4fe1\u606f\u7ed3\u6784\u53d8\u91cf<\/span>\n\tName<span>:<\/span> <span>\"\u590d\u8bfb\"<\/span><span>,<\/span>\n\tUsage<span>:<\/span> <span>`\n\u7528\u6cd5\uff1a\n\techo [\u590d\u8bfb\u5185\u5bb9]\uff1a\u5c06echo\u540e\u7684\u5185\u5bb9\u8fdb\u884c\u590d\u8bfb\n`<\/span><span>,<\/span>\n<span>}<\/span>\n<span>var<\/span> proxy <span>*<\/span>manager<span>.<\/span>PluginProxy <span>\/\/ [2] \u58f0\u660e\u63d2\u4ef6\u4ee3\u7406\u53d8\u91cf<\/span>\n\n<span>func<\/span> <span>init<\/span><span>(<\/span><span>)<\/span> <span>{<\/span>\n\tproxy <span>=<\/span> manager<span>.<\/span><span>RegisterPlugin<\/span><span>(<\/span>info<span>)<\/span> <span>\/\/ [3] \u4f7f\u7528\u63d2\u4ef6\u4fe1\u606f\u521d\u59cb\u5316\u63d2\u4ef6\u4ee3\u7406<\/span>\n\t<span>if<\/span> proxy <span>==<\/span> <span>nil<\/span> <span>{<\/span> <span>\/\/ \u82e5\u521d\u59cb\u5316\u5931\u8d25\uff0c\u8bf7return\uff0c\u5931\u8d25\u539f\u56e0\u4f1a\u5728\u65e5\u5fd7\u4e2d\u6253\u5370<\/span>\n\t\t<span>return<\/span>\n\t<span>}<\/span>\n\tproxy<span>.<\/span><span>OnCommands<\/span><span>(<\/span><span>[<\/span><span>]<\/span><span>string<\/span><span>{<\/span><span>\"\u590d\u8bfb\"<\/span><span>,<\/span><span>\"echo\"<\/span><span>}<\/span><span>)<\/span><span>.<\/span><span>SetBlock<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>.<\/span><span>FirstPriority<\/span><span>(<\/span><span>)<\/span><span>.<\/span><span>Handle<\/span><span>(<\/span>EchoHandler<span>)<\/span> <span>\/\/ [4] \u6ce8\u518c\u4e8b\u4ef6\u5904\u7406\u51fd\u6570<\/span>\n\tproxy<span>.<\/span><span>AddConfig<\/span><span>(<\/span><span>\"times\"<\/span><span>,<\/span> <span>2<\/span><span>)<\/span> <span>\/\/ proxy\u63d0\u4f9b\u7684\u7edf\u4e00\u914d\u7f6e\u9879\u7ba1\u7406\u529f\u80fd\uff0c\u6b64\u51fd\u6570\u65b0\u589e\u4e00\u4e2a\u914d\u7f6e\u9879times\uff0c\u9ed8\u8ba4\u503c\u4e3a2<\/span>\n<span>}<\/span>\n\n<span>\/\/ [5] Handler\u5b9e\u73b0<\/span>\n<span>func<\/span> <span>EchoHandler<\/span><span>(<\/span>ctx <span>*<\/span>zero<span>.<\/span>Ctx<span>)<\/span> <span>{<\/span>\n\tstr <span>:=<\/span> utils<span>.<\/span><span>GetArgs<\/span><span>(<\/span>ctx<span>)<\/span> <span>\/\/ \u6d3e\u8499Bot\u63d0\u4f9b\u7684\u5de5\u5177\u51fd\u6570\uff0c\u7528\u4e8e\u83b7\u53d6\u6b64\u6b21\u4e8b\u4ef6\u7684\u6d88\u606f\u53c2\u6570\u5185\u5bb9<\/span>\n\ttm <span>:=<\/span> proxy<span>.<\/span><span>GetConfigInt64<\/span><span>(<\/span><span>\"times\"<\/span><span>)<\/span> <span>\/\/ proxy\u63d0\u4f9b\u7684\u7edf\u4e00\u914d\u7f6e\u9879\u7ba1\u7406\u529f\u80fd\uff0c\u6b64\u51fd\u6570\u7528\u4e8e\u83b7\u53d6int64\u7c7b\u578b\u7684times\u914d\u7f6e\u9879\u503c<\/span>\n\t<span>for<\/span> i <span>:=<\/span> <span>int64<\/span><span>(<\/span><span>0<\/span><span>)<\/span><span>;<\/span> i <span>&lt;<\/span> tm<span>;<\/span> i<span>++<\/span> <span>{<\/span>\n\t\tctx<span>.<\/span><span>Send<\/span><span>(<\/span>str<span>)<\/span>\n\t<span>}<\/span>\n<span>}<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><span>12<\/span><br><span>13<\/span><br><span>14<\/span><br><span>15<\/span><br><span>16<\/span><br><span>17<\/span><br><span>18<\/span><br><span>19<\/span><br><span>20<\/span><br><span>21<\/span><br><span>22<\/span><br><span>23<\/span><br><span>24<\/span><br><span>25<\/span><br><span>26<\/span><br><span>27<\/span><br><span>28<\/span><br><span>29<\/span><br><span>30<\/span><br><span>31<\/span><br><span>32<\/span><br><span>33<\/span><br><span>34<\/span><br><span>35<\/span><br><\/div><\/div><h2 id=\"\u4e8b\u4ef6\u5904\u7406hook\"> \u4e8b\u4ef6\u5904\u7406Hook<\/h2>\n<p>\u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u4e3a\u4e8b\u4ef6\u5904\u7406\u6dfb\u52a0\u94a9\u5b50\u51fd\u6570\uff0c\u5df2\u6709\u63d2\u4ef6\u4e2d\u7684\u9650\u6d41\u3001\u9274\u6743\u3001\u7edf\u8ba1\u7b49\u4fbf\u662f\u57fa\u4e8e\u94a9\u5b50\u51fd\u6570\u5b9e\u73b0\u7684\u3002<\/p>\n<p>\u6302\u8f7d\u70b9\u6709\u4e24\u5904\uff1a<\/p>\n<ol>\n<li>\u8fdb\u5165\u5177\u4f53\u7684\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u524d<\/li>\n<li>\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u5904\u7406\u5b8c\u6210\u540e<\/li>\n<li>plugin-config\u914d\u7f6e\u6587\u4ef6\u6709\u6240\u53d8\u66f4\u65f6<\/li>\n<\/ol>\n<p>\u7b2c\u4e00\u5904\u4f7f\u7528\uff1a<\/p>\n<div><pre><code>manager<span>.<\/span><span>AddPreHook<\/span><span>(<\/span>hook <span>...<\/span>PluginHook<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u7b2c\u4e8c\u5904\u4f7f\u7528\uff1a<\/p>\n<div><pre><code>manager<span>.<\/span><span>AddPostHook<\/span><span>(<\/span>hook <span>...<\/span>PluginHook<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u7b2c\u4e09\u5904\u4f7f\u7528\uff1a<\/p>\n<div><pre><code>manager<span>.<\/span><span>WhenConfigFileChange<\/span><span>(<\/span>hook <span>...<\/span>FileHook<span>)<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u5176\u4e2d\uff0c<code>PluginHook<\/code>\u5b9a\u4e49\u4e3a\uff1a<\/p>\n<div><pre><code><span>func<\/span><span>(<\/span>condition <span>*<\/span>manager<span>.<\/span>PluginCondition<span>,<\/span> ctx <span>*<\/span>zero<span>.<\/span>Ctx<span>)<\/span> <span>error<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>condition\u5305\u542b\u4e86\u5373\u5c06\u88ab\u8c03\u7528\u7684\u63d2\u4ef6\u4fe1\u606f\uff1a<\/p>\n<div><pre><code><span>type<\/span> PluginCondition <span>struct<\/span> <span>{<\/span>\n\tPluginInfo            <span>\/\/ \u63d2\u4ef6\u4fe1\u606f\uff08\u7531\u63d2\u4ef6\u63d0\u4f9b\uff0c\u53ea\u8bfb\uff09<\/span>\n\tKey        <span>string<\/span>     <span>\/\/ \u63d2\u4ef6Key<\/span>\n\tNormalCmd  <span>[<\/span><span>]<\/span><span>[<\/span><span>]<\/span><span>string<\/span> <span>\/\/ \u8be5\u63d2\u4ef6\u7684\u666e\u901a\u7528\u6237\u547d\u4ee4\u96c6<\/span>\n\tSuperCmd   <span>[<\/span><span>]<\/span><span>[<\/span><span>]<\/span><span>string<\/span> <span>\/\/ \u8be5\u63d2\u4ef6\u7684\u8d85\u7ea7\u7528\u6237\u4e13\u7528\u547d\u4ee4\u96c6<\/span>\n<span>}<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><\/div><\/div><p>ctx\u4e3a\u6b64\u6b21\u4e8b\u4ef6\u7684zerobot\u4e0a\u4e0b\u6587\u3002<\/p>\n<p><strong>\u6ce8\u610f<\/strong>\uff01\u5bf9\u4e8e\u8fd4\u56de\u503c\uff0c\u82e5\u8fd4\u56de\u7684error\u4e0d\u4e3anil\uff0c\u63a7\u5236\u5668\u5c06\u7acb\u9a6c\u7ec8\u6b62\u6b64\u6b21\u4e8b\u4ef6\uff0c\u540e\u7eed\u4e00\u5207\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u6216\u5176\u5b83\u94a9\u5b50\u90fd\u5c06\u4e0d\u4f1a\u88ab\u8c03\u7528\u3002<\/p>\n<p>\u6b64\u5916\uff0cmanager\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4e9bPluginCondition\u76f8\u5173\u7684\u5de5\u5177\u51fd\u6570\uff1a<\/p>\n<div><pre><code>manager<span>.<\/span><span>GetAllPluginConditions<\/span><span>(<\/span><span>)<\/span> <span>[<\/span><span>]<\/span><span>*<\/span>PluginCondition <span>\/\/ \u8fd4\u56de\u6240\u6709\u63d2\u4ef6\u7684PluginCondition<\/span>\n<span>GetPluginConditionByKey<\/span><span>(<\/span>key <span>string<\/span><span>)<\/span> <span>*<\/span>PluginCondition <span>\/\/ \u901a\u8fc7\u63d2\u4ef6Key\u67e5\u8be2\u8be5\u63d2\u4ef6\u7684PluginCondition<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><\/div><\/div><p><code>FileHook<\/code>\u5b9a\u4e49\u4e3a\uff1a<\/p>\n<div><pre><code><span>func<\/span><span>(<\/span>event fsnotify<span>.<\/span>Event<span>)<\/span> <span>error<\/span> <span>\/\/ \u8be5error\u4ec5\u4f1a\u5728\u65e5\u5fd7\u4e2d\u6709\u6240\u4f53\u73b0<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div>","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-03-04T04:33:21.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5MySQL","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/mysql\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/mysql\/","content_html":"<h1 id=\"\u5b89\u88c5mysql\"> \u5b89\u88c5MySQL<\/h1>\n<h2 id=\"\u5b89\u88c5\"> \u5b89\u88c5<\/h2>\n<div><p>\u58f0\u660e<\/p>\n<p>\u5982\u679c\u4f60\u9009\u7528\u4e86MySQL\u4f5c\u4e3a\u6570\u636e\u5e93\uff0c\u90a3\u60f3\u5fc5\u4f60\u5bf9MySQL\u4e00\u5b9a\u5f88\u719f\u6089\u53ed\uff01\uff08\u5982\u679c\u5e76\u4e0d\uff0c\u8bf7\u51fa\u95e8\u5de6\u62d0\u9009\u7528PostgreSQL\uff0c<s>\u6216\u8005\u53f3\u62d0\u767e\u5ea6<\/s>\uff09<\/p>\n<\/div>\n<p>\u8bf7\u81ea\u884c\u5b89\u88c5MySQL\u540e\uff0c\u81ea\u884c\u65b0\u5efa\u4e00\u4e2a\u6570\u636e\u5e93\u3001\u4e00\u4e2a\u65b0\u7528\u6237<\/p>\n<h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4fee\u6539db\u7684type\u914d\u7f6e\u9879\u4e3a<code>mysql<\/code><\/p>\n<p>db\u7684\u5176\u5b83\u914d\u7f6e\u9879\uff1aname\u4fee\u6539\u4e3a\u6570\u636e\u5e93\u540d\uff0chost\u4fee\u6539\u4e3a<code>localhost<\/code>\uff0cport\u4fee\u6539\u4e3a<code>3306<\/code>\uff0cuser\u4fee\u6539\u4e3a\u4f60\u6b64\u524d\u81ea\u884c\u521b\u5efa\u7684\u6570\u636e\u5e93\u7528\u6237\u540d\uff0cpasswd\u4fee\u6539\u4e3a\u4f60\u6b64\u524d\u81ea\u884c\u8bbe\u7f6e\u7684\u5bc6\u7801\u3002<\/p>\n<p><img src=\".\/..\/pic\/mysql.jpg\" alt=\"mysql\" loading=\"lazy\"><\/p>\n","date_published":"2021-12-03T09:46:22.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5de5\u5177\u5305\u6587\u6863","url":" https:\/\/richeyjang.github.io\/PaimengBot\/develop\/utils\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/develop\/utils\/","content_html":"<h1 id=\"\u5de5\u5177\u5305\u6587\u6863\"> \u5de5\u5177\u5305\u6587\u6863<\/h1>\n<p>utils\u5305\u63d0\u4f9b\uff1a\u5feb\u6377\u83b7\u53d6\u6307\u5b9a\u6d88\u606f\u5185\u5bb9\u30012D\u7ed8\u56fe\u3001\u53ef\u91cd\u8bd5\u7684Http Client\u3001\u5b57\u7b26\u4e32\u5904\u7406\u7b49\u8f6e\u5b50\u3002<\/p>\n<p>\u4f4d\u4e8eutils\u76ee\u5f55\uff0c\u6ce8\u91ca\u4e5f\u6bd4\u8f83\u8be6\u5c3d\uff0c\u5c3d\u91cf\u53c2\u9605\u6ce8\u91ca\u5427\u3002<\/p>\n<h2 id=\"utils\u5305\u7ed3\u6784\"> utils\u5305\u7ed3\u6784<\/h2>\n<ul>\n<li>client\u5305\uff1a\u53ef\u91cd\u8bd5\u7684Http Client\u5c01\u88c5<\/li>\n<li>consts\u5305\uff1a\u4e00\u4e9b\u5168\u5c40\u5e38\u91cf\u5b9a\u4e49<\/li>\n<li>images\u5305\uff1a2D\u7ed8\u56fe\u5de5\u5177\u5305\uff0c\u662f\u5bf9gg\u5e93\u7684\u4e0a\u5c42\u5c01\u88c5<\/li>\n<li>rules\u5305\uff1a\u4e00\u4e9b\u6d3e\u8499Bot\u9884\u8bbe\u4e8b\u4ef6\u8fc7\u6ee4\u89c4\u5219<\/li>\n<li>push\u5305\uff1a\u4e3b\u52a8\u6d88\u606f\u63a8\u9001\u76f8\u5173\u5c01\u88c5\uff0c\u76f4\u63a5<code>push.Send<\/code>\u5373\u53ef<\/li>\n<li>common.go\uff1a\u5b57\u7b26\u4e32\u5904\u7406\u7b49\u6742\u9879\u5de5\u5177\u51fd\u6570<\/li>\n<li>ctx.go\uff1a\u4ecezero.Ctx\u4e2d\u63d0\u53d6\u6240\u9700\u4fe1\u606f\u6216\u80fd\u529b\u7684\u4e00\u4e9b\u5de5\u5177\u51fd\u6570<\/li>\n<li>file.go\uff1a\u7528\u4e8e\u6587\u4ef6\u5224\u65ad\u6216\u5904\u7406\u7684\u4e00\u4e9b\u5de5\u5177\u51fd\u6570<\/li>\n<li>logrus.go\uff1a\u7528\u4e8e\u65e5\u5fd7\u683c\u5f0f\u8bbe\u7f6e\uff0c\u975e\u5fc5\u8981\u8bf7\u52ff\u6539\u52a8<\/li>\n<li>reflect.go\uff1a\u4e3amanager\u63d0\u4f9b\u81ea\u52a8\u5316\u63d2\u4ef6\u7ba1\u7406\u80fd\u529b\u652f\u6301\uff0c\u975e\u5fc5\u8981\u8bf7\u52ff\u6539\u52a8<\/li>\n<\/ul>\n<h2 id=\"\u7528\u6cd5\"> \u7528\u6cd5<\/h2>\n<p>TODO\uff0c\u53c2\u9605\u51fd\u6570\u6ce8\u91ca\u5427<\/p>\n","date_published":"2022-01-29T04:13:09.000Z","date_modified":"2022-03-04T04:33:21.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5Postgresql","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/postgresql\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/postgresql\/","content_html":"<h1 id=\"\u5b89\u88c5postgresql\"> \u5b89\u88c5Postgresql<\/h1>\n<h2 id=\"\u5b89\u88c5\"> \u5b89\u88c5<\/h2>\n<div><p>\u63d0\u793a<\/p>\n<p>\u4ee5\u4e0b\u4e3aUbuntu\u7cfb\u7edf\u5b89\u88c5Postgresql\u7684\u65b9\u6cd5\uff0c\u82e5\u4f60\u4f7f\u7528\u7684\u662fCentOS\u7b49\u5176\u5b83\u7cfb\u7edf\uff0c\u8bf7\u81ea\u884c\u767e\u5ea6...<\/p>\n<p>\u5982\u679c\u9047\u5230\u95ee\u9898\uff0c\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b<a href=\"https:\/\/linux.cn\/article-11480-1.html\" target=\"_blank\" rel=\"noopener noreferrer\">\u63a8\u8350\u6559\u7a0b<\/a><\/p>\n<\/div>\n<p>\u9996\u5148\uff0c\u5b89\u88c5Postgresql<\/p>\n<div><pre><code><span>sudo<\/span> <span>apt<\/span> update\n<span>sudo<\/span> <span>apt<\/span> <span>install<\/span> postgresql postgresql-contrib\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><\/div><\/div><p>\u5207\u6362\u81f3postgres\u7528\u6237<\/p>\n<div><pre><code><span>sudo<\/span> <span>su<\/span> - postgres\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u6253\u5f00psql<\/p>\n<div><pre><code>psql\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u4fee\u6539\u6570\u636e\u5e93postgres\u7528\u6237\u7684\u5bc6\u7801<\/p>\n<div><pre><code>alter user postgres with password <span>'123456'<\/span><span>;<\/span> <span>#\u6b64\u5904\u7684123456\u4fee\u6539\u4e3a\u4f60\u6240\u60f3\u8bbe\u7f6e\u7684\u7528\u6237\u5bc6\u7801<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u521b\u5efa\u4e00\u4e2a\u65b0\u6570\u636e\u5e93<\/p>\n<div><pre><code>CREATE DATABASE testdb OWNER postgres<span>;<\/span> <span>#\u6b64\u5904\u7684testdb\u4fee\u6539\u4e3a\u4f60\u81ea\u5df1\u968f\u4fbf\u8d77\u7684\u4e00\u4e2a\u6570\u636e\u5e93\u540d<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u8f93\u5165<code>\\q<\/code>\u6765\u9000\u51fapsql\uff0c\u8f93\u5165<code>exit<\/code>\u5207\u56de\u539f\u7528\u6237\uff0c\u968f\u540e\u91cd\u542fpostgresql<\/p>\n<div><pre><code><span>sudo<\/span> systemctl restart postgresql\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4fee\u6539db\u7684type\u914d\u7f6e\u9879\u4e3a<code>postgresql<\/code><\/p>\n<p>db\u7684\u5176\u5b83\u914d\u7f6e\u9879\uff1aname\u4fee\u6539\u4e3a\u6570\u636e\u5e93\u540d\uff0chost\u4fee\u6539\u4e3a<code>localhost<\/code>\uff0cport\u4fee\u6539\u4e3a<code>5432<\/code>\uff0cuser\u4fee\u6539\u4e3a<code>postgres<\/code>\u6216\u4f60\u81ea\u884c\u521b\u5efa\u7684\u6570\u636e\u5e93\u7528\u6237\u540d\uff0cpasswd\u4fee\u6539\u4e3a\u4f60\u6b64\u524d\u81ea\u884c\u8bbe\u7f6e\u7684\u5bc6\u7801\u3002<\/p>\n<p><img src=\".\/..\/pic\/postgres.jpg\" alt=\"postgresql\" loading=\"lazy\"><\/p>\n","date_published":"2021-12-03T09:46:22.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5982\u4f55\u5b89\u88c5\u6d3e\u8499Bot","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/","content_html":"<h1 id=\"\u5982\u4f55\u5b89\u88c5\u6d3e\u8499bot\"> \u5982\u4f55\u5b89\u88c5\u6d3e\u8499Bot<\/h1>\n<p>\u9884\u5148\u51c6\u5907\u597d\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<ul>\n<li>\u4e00\u4e2a\u72ec\u7acb\u7684QQ\u8d26\u53f7\uff0c\u4f5c\u4e3a\u673a\u5668\u4eba\u8d26\u53f7<\/li>\n<li>\u4e00\u53f0\u80fd\u8054\u7f51\u7684\u4e3b\u673a<\/li>\n<\/ul>\n<p><strong>\u8bf7\u9009\u62e9\u4f60\u6240\u8981\u5b89\u88c5\u7684\u64cd\u4f5c\u7cfb\u7edf\uff1a<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\".\/windows\/\">Windows<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\".\/linux\/\">Linux<\/a><\/p>\n<\/li>\n<\/ul>\n<div><p>\u63d0\u793a<\/p>\n<p>\u957f\u671f\u90e8\u7f72\uff0c\u5efa\u8bae\u4f7f\u7528Linux\uff0c\u66f4\u52a0\u5bb9\u6613\u7ef4\u62a4<\/p>\n<p>\u8fd9\u91cc\u987a\u4fbf\u63a8\u8350\u4e00\u4e0b<a href=\"https:\/\/curl.qcloud.com\/caEZjVuw\" target=\"_blank\" rel=\"noopener noreferrer\">\u817e\u8baf\u4e91\u7684\u8f7b\u91cf\u5e94\u7528\u670d\u52a1\u5668<\/a>\uff0c\u53ef\u4ee5\u65e0\u811124h\u6301\u7eed\u8fd0\u884c\\\u81ea\u5e26\u516c\u7f51IP\u3002\u6700\u8fd1\u8fd8\u641e\u6d3b\u52a8\uff1a2\u68382G\u4e91\u670d\u52a1\u5668\uff0c\u8db3\u591f\u6d3e\u8499Bot\u4f7f\u7528\u4e86\uff0c\u4e00\u5e74\u624d65\u5143\uff0c\u6d3b\u52a8\u94fe\u63a5\uff1a<a href=\"https:\/\/curl.qcloud.com\/n0SjB8mh\" target=\"_blank\" rel=\"noopener noreferrer\">\u817e\u8baf\u4e91\u91c7\u8d2d<\/a><\/p>\n<p>\u524d\u65b9\u9700\u8981\u4e00\u70b9\u70b9\u7684\u547d\u4ee4\u884c\u57fa\u7840\uff0c\u5c11\u5e74\u4f60\u51c6\u5907\u597d\u4e86\u561b\uff1f<\/p>\n<\/div>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-06-08T09:47:04.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5728Linux\u4e0b\u5b89\u88c5\u6d3e\u8499Bot","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/","content_html":"<h1 id=\"\u5728linux\u4e0b\u5b89\u88c5\u6d3e\u8499bot\"> \u5728Linux\u4e0b\u5b89\u88c5\u6d3e\u8499Bot<\/h1>\n<div><p>\u4e0eWindows\u4e0b\u7684\u533a\u522b<\/p>\n<p>\u76f8\u6bd4\u4e8e\u5728Windows\u4e0b\u5b89\u88c5\uff0c\u5176\u5b9e\u4ec5\u4ec5\u662f\u542f\u52a8\u547d\u4ee4\u3001\u5b89\u88c5\u6570\u636e\u5e93\u547d\u4ee4\u6709\u6240\u4e0d\u540c\uff0c\u6240\u6709\u914d\u7f6e\u9879\u7684\u914d\u7f6e\u65b9\u6cd5\u5b8c\u5168\u4e00\u81f4\u3002<\/p>\n<\/div>\n<h2 id=\"\u4e0b\u8f7d\"> \u4e0b\u8f7d<\/h2>\n<p>\u9996\u5148\uff0c\u5230<a href=\"https:\/\/github.com\/RicheyJang\/PaimengBot\/releases\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Release<\/strong><\/a>\u9875\u9762\u4e0b\u8f7d\u6700\u65b0Linux\u7248\u672c\u7684\u6d3e\u8499Bot\uff0c\u89e3\u538b\u7f29\u81f3\u4efb\u610f\u6587\u4ef6\u5939\u3002<\/p>\n<p>\u89e3\u538b\u7f29\u547d\u4ee4\u53c2\u8003\uff1a<\/p>\n<div><pre><code><span>tar<\/span> -zxvf \u538b\u7f29\u5305\u540d\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><h2 id=\"\u7b2c\u4e00\u6b21\u542f\u52a8\"> \u7b2c\u4e00\u6b21\u542f\u52a8<\/h2>\n<p>cd\u8fdb\u5165\u89e3\u538b\u7f29\u5f97\u5230\u7684\u6587\u4ef6\u5939\u4e2d\u6267\u884c\uff1a<\/p>\n<div><pre><code>.\/paimeng\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u8fd0\u884c\u540e\uff0c\u4f1a\u81ea\u52a8\u751f\u6210\u4e3b\u914d\u7f6e\u6587\u4ef6<code>config-main.yaml<\/code>\uff0c\u968f\u540e\u7a0b\u5e8f\u81ea\u52a8\u7ed3\u675f\u3002<\/p>\n<p><strong>\u63a5\u4e0b\u6765\uff0c\u8bf7\u5b89\u88c5<a href=\"cqhttp\">Go-CQHttp<\/a>\u548c<a href=\"database\">\u6570\u636e\u5e93<\/a><\/strong><\/p>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5\u6570\u636e\u5e93","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/database\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/database\/","content_html":"<h1 id=\"\u5b89\u88c5\u6570\u636e\u5e93\"> \u5b89\u88c5\u6570\u636e\u5e93<\/h1>\n<p>\u76ee\u524d\uff0c\u6d3e\u8499Bot\u652f\u6301SQLite\u3001MySql\u3001PostgreSQL\u8fd93\u79cd\u6570\u636e\u5e93\uff0c\u4f9d\u636e\u4ee5\u4e0b\u6559\u7a0b\uff0c<strong>\u4efb\u9009\u5176\u4e00<\/strong>\u8fdb\u884c\u5b89\u88c5\u3001\u914d\u7f6e\u5373\u53ef\u3002\u63a8\u8350\u4f7f\u7528PostgreSQL\uff0c\u4f1a\u6709\u66f4\u9ad8\u7684\u8fd0\u884c\u6548\u7387\u3001\u66f4\u5c0f\u7684\u78c1\u76d8\u5360\u7528\u3002<\/p>\n<div><p>\u63d0\u793a<\/p>\n<p>\u4f46\u82e5\u4f60\u5bf9\u4efb\u4f55\u6570\u636e\u5e93\u5b8c\u5168\u6ca1\u6709\u4e86\u89e3\uff0c\u6216\u5728\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u9047\u5230\u4e86\u8d85\u51fa\u80fd\u529b\u8303\u56f4\u7684\u95ee\u9898\uff0c\n\u53ef\u4ee5\u9009\u7528SQLite\uff1a\u4e00\u79cd\u8f7b\u578b\u3001\u65e0\u9700\u914d\u7f6e\u7684\u5355\u6587\u4ef6\u5f0f\u6570\u636e\u5e93<\/p>\n<\/div>\n<ul>\n<li>\n<p><a href=\"..\/postgresql\">PostgreSQL<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"..\/sqlite\">SQLite<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"..\/mysql\">MySQL<\/a><\/p>\n<\/li>\n<\/ul>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5SQLite","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/sqlite\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/sqlite\/","content_html":"<h1 id=\"\u5b89\u88c5sqlite\"> \u5b89\u88c5SQLite<\/h1>\n<h2 id=\"\u5b89\u88c5\"> \u5b89\u88c5<\/h2>\n<p>\u82e5\u4f60\u4f7f\u7528\u7684\u662fUbuntu\uff0c\u8fd0\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\u5373\u53ef\uff1a<\/p>\n<div><pre><code><span>sudo<\/span> <span>apt<\/span> <span>install<\/span> sqlite\n<span>sudo<\/span> <span>apt<\/span> <span>install<\/span> libsqlite3-dev\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><\/div><\/div><h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4fee\u6539db\u7684type\u914d\u7f6e\u9879\u4e3a<code>sqlite<\/code>\u3001name\u914d\u7f6e\u9879\u4e3a<code>.\/data\/sqlite.db<\/code>\u5373\u53ef\u3002<\/p>\n<p><img src=\".\/..\/pic\/sqlite.jpg\" alt=\"sqlite\" loading=\"lazy\"><\/p>\n","date_published":"2021-12-03T09:46:22.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5Go-CQHttp","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/cqhttp\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/cqhttp\/","content_html":"<h1 id=\"\u5b89\u88c5go-cqhttp\"> \u5b89\u88c5Go-CQHttp<\/h1>\n<div><p>\u63d0\u793a<\/p>\n<p>go-cqhttp\u662f\u4e00\u4e2a\u7528Go\u5f00\u53d1\u7684QQ\u673a\u5668\u4eba\u524d\u7aef\uff0c\u7528\u4e8e\u767b\u5f55QQ\u673a\u5668\u4eba\u8d26\u53f7\u3001\u6536\u53d1\u6d88\u606f\u7b49\u7b49\uff0c\u662f\u6d3e\u8499Bot\u7684\u5fc5\u8981\u4f9d\u8d56\u54e6\u3002<\/p>\n<\/div>\n<h2 id=\"\u4e0b\u8f7d\"> \u4e0b\u8f7d<\/h2>\n<p>\u9996\u5148\uff0c\u4ece<a href=\"https:\/\/github.com\/Mrs4s\/go-cqhttp\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">go-cqhttp\u53d1\u5e03\u9875<\/a>\u4e0b\u8f7d\u6700\u65b0Windows\u7248\u672c\u7684go-cqhttp\uff0c\u89e3\u538b\u7f29\u5230\u4efb\u610f\u76ee\u5f55\u3002<\/p>\n<h2 id=\"\u9996\u6b21\u542f\u52a8\"> \u9996\u6b21\u542f\u52a8<\/h2>\n<p>\u968f\u540e\uff0c\u4f7f\u7528\u547d\u4ee4\u884c\u8fdb\u5165\u8be5\u76ee\u5f55\uff0c\u8fd0\u884cgo-cqhttp\u3002\u5728\u9996\u6b21\u8fd0\u884c\u65f6\uff0c\u5b83\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u9009\u62e9\u901a\u4fe1\u65b9\u5f0f\uff0c\u9009\u62e9 2 ( Websocket \u901a\u4fe1)\uff0c\u4f1a\u751f\u6210\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6config.yml\u3002<\/p>\n<p><img src=\".\/..\/pic\/cqhttp1-win.jpg\" alt=\"cqhttp\" loading=\"lazy\"><\/p>\n<h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u63a5\u4e0b\u6765\uff0c\u6253\u5f00\u914d\u7f6e\u6587\u4ef6config.yml\uff0c\u5c06\u6587\u4ef6\u9996\u90e8\u7684account.uin\u914d\u7f6e\u9879\uff08\u5192\u53f7\u540e\u7684\u5185\u5bb9\uff09\u4fee\u6539\u4e3a\u4f60\u6240\u8981\u4f7f\u7528\u7684\u673a\u5668\u4ebaQQ\u8d26\u53f7\uff1b<\/p>\n<p><img src=\".\/..\/pic\/cqhttp-config.jpg\" alt=\"cqhttp\" loading=\"lazy\"><\/p>\n<p>\u5c06\u6587\u4ef6\u672b\u5c3e\u5904\u7684ws\u914d\u7f6e\u4e2d\u7684address\u9879\u4fee\u6539\u4e3a0.0.0.0:<strong>6700<\/strong>\u3002<\/p>\n<p><img src=\".\/..\/pic\/cqhttp-config2.jpg\" alt=\"cqhttp\" loading=\"lazy\"><\/p>\n<h2 id=\"\u6301\u7eed\u8fd0\u884c\"> \u6301\u7eed\u8fd0\u884c<\/h2>\n<p>\u6700\u540e\uff0c\u91cd\u65b0\u8fd0\u884cgo-cqhttp\uff0c\u626b\u7801\u767b\u5f55\u540e\uff0c\u8ba9\u5b83\u6301\u7eed\u8fd0\u884c\u3002<\/p>\n<div><p>\u51fa\u9519<\/p>\n<p>\u82e5\u5728\u5b89\u88c5go-cqhttp\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u8bf7\u53c2\u9605\uff1a<a href=\"https:\/\/docs.go-cqhttp.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">go-cqhttp\u6587\u6863<\/a>\u3002<\/p>\n<\/div>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u53ef\u9009\u5b89\u88c5\u9879","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/other\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/other\/","content_html":"<h1 id=\"\u53ef\u9009\u5b89\u88c5\u9879\"> \u53ef\u9009\u5b89\u88c5\u9879<\/h1>\n<h2 id=\"chrome\"> Chrome<\/h2>\n<p>\u90e8\u5206\u529f\u80fd\u9700\u8981\u4f60\u7684\u673a\u5668\u4e0a\u5b89\u88c5Chrome\u6d4f\u89c8\u5668\uff0c\u5426\u5219\u65e0\u6cd5\u6b63\u5e38\u652f\u6301\u3002\u4f8b\u5982\uff1a\u539f\u795e\u4eca\u65e5\u7d20\u6750\uff1b<\/p>\n<p><strong>Windows\uff1a<\/strong><\/p>\n<p><a href=\"https:\/\/www.google.cn\/chrome\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u5b98\u7f51<\/a><\/p>\n<p><strong>Linux\uff1a<\/strong><\/p>\n<div><pre><code><span># \u4e0b\u8f7d\u6e90\u52a0\u5165\u5230\u7cfb\u7edf\u7684\u6e90\u5217\u8868<\/span>\n<span>sudo<\/span> <span>wget<\/span> http:\/\/www.linuxidc.com\/files\/repo\/google-chrome.list -P \/etc\/apt\/sources.list.d\/\n\n<span># \u5bfc\u5165\u8c37\u6b4c\u8f6f\u4ef6\u516c\u94a5<\/span>\n<span>wget<\/span> -q -O - https:\/\/dl.google.com\/linux\/linux_signing_key.pub  <span>|<\/span> <span>sudo<\/span> apt-key <span>add<\/span> -\n\n<span># \u66f4\u65b0\u5217\u8868 \u8fd9\u4e00\u6b65\u53ef\u80fd\u4f1a\u5931\u8d25\uff0c\u591a\u5c1d\u8bd5\u51e0\u6b21<\/span>\n<span>sudo<\/span> <span>apt-get<\/span> update\n\n<span># \u5b89\u88c5chrome \u8fd9\u4e00\u6b65\u4e5f\u53ef\u80fd\u4f1a\u5931\u8d25\uff0c\u591a\u5c1d\u8bd5\u51e0\u6b21<\/span>\n<span>sudo<\/span> <span>apt-get<\/span> <span>install<\/span> google-chrome-stable\n\n<span># \u6d4b\u8bd5 \u4ee5--no-sandbox\u6a21\u5f0f\u8fd0\u884c<\/span>\ngoogle-chrome-stable --headless --disable-gpu --no-sandbox --screenshot https:\/\/www.baidu.com\/\n<span># \u82e5\u5f53\u524d\u76ee\u5f55\u4e0b\u591a\u4e86\u4e00\u5f20\u767e\u5ea6\u9875\u9762\u622a\u56fe\uff0c\u5219\u8bf4\u660e\u5b89\u88c5\u6210\u529f<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><span>12<\/span><br><span>13<\/span><br><span>14<\/span><br><span>15<\/span><br><\/div><\/div><p>\u6b64\u5916\uff0c\u8fd8\u9700\u8981\u5b89\u88c5\u4e2d\u6587\u5b57\u4f53<\/p>\n<div><pre><code><span>sudo<\/span> <span>apt-get<\/span> <span>install<\/span> ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><div><p>\u63d0\u793a<\/p>\n<p>\u6b64\u5916\uff0c\u82e5\u4f9d\u65e7\u65e0\u6cd5\u6b63\u5e38\u4f7f\u7528&quot;\u539f\u795e\u4eca\u65e5\u7d20\u6750&quot;\u7b49\u529f\u80fd\uff08\u56fe\u7247\u4e0a\u6587\u5b57\u53d8\u6210\u5c0f\u6846\u6846\uff09\uff0c\u8bf7\u624b\u52a8\u5b89\u88c5\u4e2d\u6587\u5b57\u4f53\uff0c\u8bf7\u81ea\u884c\u767e\u5ea6\uff1aLinux\u5b89\u88c5\u4e2d\u6587\u5b57\u4f53\u3002<\/p>\n<\/div>\n<h2 id=\"omega\u56fe\u5e93\"> Omega\u56fe\u5e93<\/h2>\n<div><p>\u63d0\u793a<\/p>\n<p>\u6b64\u9879\u9700\u8981\u6709\u4e00\u5b9a\u7684\u6570\u636e\u5e93\u57fa\u7840<\/p>\n<\/div>\n<p>Omega\u56fe\u5e93\u662f\u4e00\u4e2a\u7531Ailitonia\u7b49\u4eba\u6536\u96c6\u7684Pixiv\u63d2\u753b\u4fe1\u606f\u6570\u636e\u96c6\uff08\u4e0d\u662f\u56fe\u5305\uff01\uff09\uff0c\u5305\u542b\u4e869\u4e07\u4f59\u5f20\u7cbe\u6311\u7ec6\u9009\u7684\u63d2\u753b\u3002<\/p>\n<p>\u6d3e\u8499Bot\u5df2\u7ecf\u5185\u7f6e\u4e86\u5bf9\u8be5\u56fe\u5e93\u7684\u652f\u6301\u548c\u6570\u636e\u5e93\u8868\u5b9e\u73b0\uff0c\u5bfc\u5165\u8be5\u56fe\u5e93\u540e\uff0c\u53ef\u4ee5\u5927\u5927\u589e\u5f3a<code>\u597d\u5eb7\u7684<\/code>\u63d2\u4ef6\u7684\u80fd\u529b\uff08\u9003<\/p>\n<p><strong>\u5b89\u88c5\u65b9\u6cd5<\/strong>\uff1a<\/p>\n<ol>\n<li>\n<p>\u5728<a href=\"https:\/\/github.com\/Ailitonia\/omega-miya\/raw\/master\/archive_data\/db_pixiv.7z\" target=\"_blank\" rel=\"noopener noreferrer\">\u8fd9\u91cc<\/a>\u4e0b\u8f7d\u8be5\u56fe\u5e93\uff0c\u968f\u540e\u89e3\u538b\u51fa\u4e00\u4e2a.sql\u6587\u4ef6\uff08\u7ea639MB\uff09\u3002<\/p>\n<\/li>\n<li>\n<p>\u5c06\u8be5sql\u6587\u4ef6<strong>\u81ea\u884c\u5bfc\u5165<\/strong>\u5230\u6d3e\u8499Bot\u6240\u914d\u7f6e\u7684\u6570\u636e\u5e93\u91cc\u3002<\/p>\n<\/li>\n<\/ol>\n<div><pre><code><span># \u4f8b\u5982\uff0c\u5728Linux\u4e0b\uff0c\u4f7f\u7528Mysql\u6570\u636e\u5e93<\/span>\nmysql -u\u7528\u6237\u540d -p\u5bc6\u7801 \u6570\u636e\u5e93\u540d <span>&lt;<\/span> omega_pixiv_illusts_202108090411.sql\n<span># \u522b\u5fd8\u5c06\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u6570\u636e\u5e93\u540d\u66ff\u6362\u4e3a\u4f60\u81ea\u5df1\u7684<\/span>\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><\/div><\/div><ol start=\"3\">\n<li>\u5c06config-plugin.yaml\u6587\u4ef6\u4e2d\u7684<code>pixiv.scale.omega<\/code>\u914d\u7f6e\u9879\u503c\u4fee\u6539\u4e3a\u975e0\u3002<\/li>\n<\/ol>\n<p>\u53e6\u5916\uff0c\u8be5sql\u6587\u4ef6\u4e3aMysql\u7684\u5bfc\u51fa\u6587\u4ef6\uff0c\u53ef\u80fd\u4f1a\u4e0ePostgresql\u6709\u4e00\u5b9a\u51b2\u7a81\uff0c\u5728\u7fa4\u6587\u4ef6\u4e2d\u6709Postgresql\u7684\u5bfc\u51fa\u7248\u672c\u3002<\/p>\n<p>\u53e6\u53e6\u5916\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u4e2a\u56fe\u5e93\u4f9d\u65e7\u4e0d\u591f\u5927\uff0c\u53ef\u4ee5\u53c2\u7167\u8be5sql\u6587\u4ef6\u7684\u683c\u5f0f\u5411\u6570\u636e\u5e93\u7684\u8be5\u5f20\u8868\u5185\u81ea\u884c\u5199\u5165\u63d2\u56fe\u4fe1\u606f\u6570\u636e\u3002<\/p>\n","date_published":"2022-01-01T11:39:58.000Z","date_modified":"2022-03-18T07:04:06.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5Go-CQHttp","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/cqhttp\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/linux\/cqhttp\/","content_html":"<h1 id=\"\u5b89\u88c5go-cqhttp\"> \u5b89\u88c5Go-CQHttp<\/h1>\n<div><p>\u63d0\u793a<\/p>\n<p>go-cqhttp\u662f\u4e00\u4e2a\u7528Go\u5f00\u53d1\u7684QQ\u673a\u5668\u4eba\u524d\u7aef\uff0c\u7528\u4e8e\u767b\u5f55QQ\u673a\u5668\u4eba\u8d26\u53f7\u3001\u6536\u53d1\u6d88\u606f\u7b49\u7b49\uff0c\u662f\u6d3e\u8499Bot\u7684\u5fc5\u8981\u4f9d\u8d56\u54e6\u3002<\/p>\n<\/div>\n<h2 id=\"\u4e0b\u8f7d\"> \u4e0b\u8f7d<\/h2>\n<p>\u9996\u5148\uff0c\u4ece<a href=\"https:\/\/github.com\/Mrs4s\/go-cqhttp\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">go-cqhttp\u53d1\u5e03\u9875<\/a>\u4e0b\u8f7d\u6700\u65b0Linux\u7248\u672c\u7684go-cqhttp\u538b\u7f29\u5305\uff08\u4f8b\u5982<code>go-cqhttp_linux_amd64.tar.gz<\/code>\uff09\uff0c\u89e3\u538b\u7f29\u3002<\/p>\n<h2 id=\"\u9996\u6b21\u542f\u52a8\"> \u9996\u6b21\u542f\u52a8<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u89e3\u538b\u7f29\u51fa\u7684go-cqhttp\u6587\u4ef6\u5939\u4e0b\uff0c\u8fd0\u884cgo-cqhttp\u7a0b\u5e8f\u3002\u5728\u9996\u6b21\u8fd0\u884c\u65f6\uff0c\u5b83\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u9009\u62e9\u901a\u4fe1\u65b9\u5f0f\uff0c\u9009\u62e9 2 ( Websocket \u901a\u4fe1)\uff0c\u4f1a\u751f\u6210\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6config.yml\u3002<\/p>\n<p><img src=\".\/..\/pic\/cqhttp1-linux.jpg\" alt=\"cqhttp\" loading=\"lazy\"><\/p>\n<h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u63a5\u4e0b\u6765\uff0c\u6253\u5f00\uff08\u53ef\u4ee5\u4f7f\u7528vim\uff09\u914d\u7f6e\u6587\u4ef6config.yml\uff0c\u5c06\u6587\u4ef6\u9996\u90e8\u7684account.uin\u914d\u7f6e\u9879\uff08\u5192\u53f7\u540e\u7684\u5185\u5bb9\uff09\u4fee\u6539\u4e3a\u4f60\u6240\u8981\u4f7f\u7528\u7684\u673a\u5668\u4ebaQQ\u8d26\u53f7\uff1b<\/p>\n<p><img src=\".\/..\/pic\/cqhttp-config.jpg\" alt=\"cqhttp\" loading=\"lazy\"><\/p>\n<p>\u5c06\u6587\u4ef6\u672b\u5c3e\u5904\u7684ws\u914d\u7f6e\u4e2d\u7684address\u9879\u4fee\u6539\u4e3a0.0.0.0:<strong>6700<\/strong>\u3002<\/p>\n<p><img src=\".\/..\/pic\/cqhttp-config2.jpg\" alt=\"cqhttp\" loading=\"lazy\"><\/p>\n<h2 id=\"\u6301\u7eed\u8fd0\u884c\"> \u6301\u7eed\u8fd0\u884c<\/h2>\n<p>\u6700\u540e\uff0c\u91cd\u65b0\u8fd0\u884cgo-cqhttp\uff0c\u626b\u7801\u767b\u5f55\u540e\uff0c\u8ba9\u5b83\u6301\u7eed\u8fd0\u884c\u3002<\/p>\n<p>\u5728Linux\u4e0b\uff0c\u4f60\u53ef\u80fd\u9700\u8981\u4f7f\u7528\u4f1a\u8bdd\u4fdd\u6301\u5de5\u5177\uff08\u4f8b\u5982<code>Screen<\/code>\u6216<code>Tmux<\/code>\u6765\u4fdd\u6301\u3001\u5207\u51fa\u4f1a\u8bdd\uff09<\/p>\n<div><p>\u51fa\u9519<\/p>\n<p>\u82e5\u5728\u5b89\u88c5go-cqhttp\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u8bf7\u53c2\u9605\uff1a<a href=\"https:\/\/docs.go-cqhttp.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">go-cqhttp\u6587\u6863<\/a>\u3002<\/p>\n<\/div>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2021-12-03T09:46:22.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5MySQL","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/mysql\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/mysql\/","content_html":"<h1 id=\"\u5b89\u88c5mysql\"> \u5b89\u88c5MySQL<\/h1>\n<h2 id=\"\u5b89\u88c5\"> \u5b89\u88c5<\/h2>\n<div><p>\u58f0\u660e<\/p>\n<p>\u5982\u679c\u4f60\u9009\u7528\u4e86MySQL\u4f5c\u4e3a\u6570\u636e\u5e93\uff0c\u90a3\u60f3\u5fc5\u4f60\u5bf9MySQL\u4e00\u5b9a\u5f88\u719f\u6089\u53ed\uff01\uff08\u5982\u679c\u5e76\u4e0d\uff0c\u8bf7\u51fa\u95e8\u5de6\u62d0\u9009\u7528PostgreSQL\uff0c<s>\u6216\u8005\u53f3\u62d0\u767e\u5ea6<\/s>\uff09<\/p>\n<\/div>\n<p>\u8bf7\u81ea\u884c\u5b89\u88c5MySQL\u540e\uff0c\u81ea\u884c\u65b0\u5efa\u4e00\u4e2a\u6570\u636e\u5e93\u3001\u4e00\u4e2a\u65b0\u7528\u6237<\/p>\n<h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4fee\u6539db\u7684type\u914d\u7f6e\u9879\u4e3a<code>mysql<\/code><\/p>\n<p>db\u7684\u5176\u5b83\u914d\u7f6e\u9879\uff1aname\u4fee\u6539\u4e3a\u6570\u636e\u5e93\u540d\uff0chost\u4fee\u6539\u4e3a<code>localhost<\/code>\uff0cport\u4fee\u6539\u4e3a<code>3306<\/code>\uff0cuser\u4fee\u6539\u4e3a\u4f60\u6b64\u524d\u81ea\u884c\u521b\u5efa\u7684\u6570\u636e\u5e93\u7528\u6237\u540d\uff0cpasswd\u4fee\u6539\u4e3a\u4f60\u6b64\u524d\u81ea\u884c\u8bbe\u7f6e\u7684\u5bc6\u7801\u3002<\/p>\n<p><img src=\".\/..\/pic\/mysql.jpg\" alt=\"mysql\" loading=\"lazy\"><\/p>\n","date_published":"2021-12-03T08:31:06.000Z","date_modified":"2021-12-03T09:08:34.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5\u6570\u636e\u5e93","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/database\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/database\/","content_html":"<h1 id=\"\u5b89\u88c5\u6570\u636e\u5e93\"> \u5b89\u88c5\u6570\u636e\u5e93<\/h1>\n<p>\u76ee\u524d\uff0c\u6d3e\u8499Bot\u652f\u6301SQLite\u3001MySql\u3001PostgreSQL\u8fd93\u79cd\u6570\u636e\u5e93\uff0c\u4f9d\u636e\u4ee5\u4e0b\u6559\u7a0b\uff0c<strong>\u4efb\u9009\u5176\u4e00<\/strong>\u8fdb\u884c\u5b89\u88c5\u3001\u914d\u7f6e\u5373\u53ef\u3002<\/p>\n<div><p>\u63d0\u793a<\/p>\n<p>\u63a8\u8350\u4f7f\u7528PostgreSQL\uff0c\u4f1a\u6709\u66f4\u9ad8\u7684\u8fd0\u884c\u6548\u7387\u3001\u66f4\u5c0f\u7684\u78c1\u76d8\u5360\u7528\u3002<\/p>\n<p><strong>\u6ce8\u610f<\/strong>\uff01\u82e5\u4f60\u5bf9\u4efb\u4f55\u6570\u636e\u5e93\u90fd\u5b8c\u5168\u6ca1\u6709\u4efb\u4f55\u4e86\u89e3\uff0c\u6216\u5728\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u9047\u5230\u4e86\u8d85\u51fa\u80fd\u529b\u8303\u56f4\u7684\u95ee\u9898\uff0c\n\u5efa\u8bae\u9009\u7528SQLite\uff1a\u4e00\u79cd\u8f7b\u578b\u3001\u65e0\u9700\u914d\u7f6e\u7684\u5355\u6587\u4ef6\u5f0f\u6570\u636e\u5e93\uff1b\u540c\u65f6\uff0c\u7248\u672c\u2265<code>v0.2.2<\/code>\u3001Windows\u4e0b\u7684\u6d3e\u8499Bot\u7684\u9ed8\u8ba4\u6570\u636e\u5e93\u5df2\u7ecf\u914d\u7f6e\u4e3aSQLite\uff0c\u53ef\u4ee5\u76f4\u63a5<a href=\"..\/bot\">\u8df3\u8fc7\u8fd9\u4e00\u6b65<\/a><\/p>\n<\/div>\n<ul>\n<li>\n<p><a href=\"..\/postgresql\">PostgreSQL<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"..\/sqlite\">SQLite<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"..\/mysql\">MySQL<\/a><\/p>\n<\/li>\n<\/ul>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-03-18T06:32:44.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5Postgresql","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/postgresql\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/postgresql\/","content_html":"<h1 id=\"\u5b89\u88c5postgresql\"> \u5b89\u88c5Postgresql<\/h1>\n<h2 id=\"\u5b89\u88c5\"> \u5b89\u88c5<\/h2>\n<ol>\n<li>\u5728<a href=\"https:\/\/www.enterprisedb.com\/downloads\/postgres-postgresql-downloads\" target=\"_blank\" rel=\"noopener noreferrer\">Postgresql\u5b98\u7f51<\/a>\u4e0b\u8f7dWindows\u7684Postgresql\u5b89\u88c5\u7a0b\u5e8f<\/li>\n<li>\u9009\u62e9\u5b89\u88c5\u8def\u5f84\uff0c\u4e00\u8defnext\uff0c\u4e2d\u9014\u4f1a\u8ba9\u4f60\u8bbe\u7f6e\u4e00\u4e0bpostgres\u7528\u6237\u7684\u5bc6\u7801<\/li>\n<li>\u5728\u5b89\u88c5\u76ee\u5f55\u4e0b\u7684pgAdmin 4\/bin\u6587\u4ef6\u5939\u4e0b\uff0c\u53cc\u51fb\u6253\u5f00pgAdmin4.exe\uff0c\u8f93\u5165\u4f60\u6b64\u524d\u8bbe\u7f6e\u7684\u5bc6\u7801<\/li>\n<li>\u53cc\u51fb\u5de6\u4fa7\u7684<code>Servers<\/code>\uff0c\u518d\u6b21\u8f93\u5165\u5bc6\u7801\uff1b\u5728\u5de6\u4fa7\u7684<code>Databases<\/code>\u4e0a\u53f3\u952e\uff0c\u9009\u62e9Create\/Database...\uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u7684\u7b2c\u4e00\u884c\u8f93\u5165\u6570\u636e\u5e93\u540d\uff08\u81ea\u5df1\u968f\u4fbf\u8d77\u4e00\u4e2a\uff09\uff0c\u70b9\u51fbSave\u6765\u521b\u5efa\u6570\u636e\u5e93\u3002<\/li>\n<\/ol>\n<h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4fee\u6539db\u7684type\u914d\u7f6e\u9879\u4e3a<code>postgresql<\/code><\/p>\n<p>db\u7684\u5176\u5b83\u914d\u7f6e\u9879\uff1aname\u4fee\u6539\u4e3a\u6570\u636e\u5e93\u540d\uff0chost\u4fee\u6539\u4e3a<code>localhost<\/code>\uff0cport\u4fee\u6539\u4e3a<code>5432<\/code>\uff0cuser\u4fee\u6539\u4e3a<code>postgres<\/code>\u6216\u4f60\u6b64\u524d\u81ea\u884c\u521b\u5efa\u7684\u6570\u636e\u5e93\u7528\u6237\u540d\uff0cpasswd\u4fee\u6539\u4e3a\u4f60\u6b64\u524d\u81ea\u884c\u8bbe\u7f6e\u7684\u5bc6\u7801\u3002<\/p>\n<p><img src=\".\/..\/pic\/postgres.jpg\" alt=\"postgresql\" loading=\"lazy\"><\/p>\n","date_published":"2021-12-03T08:31:06.000Z","date_modified":"2022-01-01T11:39:58.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5\u6d3e\u8499Bot","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/bot\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/bot\/","content_html":"<h1 id=\"\u5b89\u88c5\u6d3e\u8499bot\"> \u5b89\u88c5\u6d3e\u8499Bot<\/h1>\n<h2 id=\"\u6700\u540e\u7684\u914d\u7f6e\"> \u6700\u540e\u7684\u914d\u7f6e<\/h2>\n<p>\u6700\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u5728superuser\u914d\u7f6e\u9879\uff08\u662f\u4e00\u4e2aYAML\u5b57\u7b26\u4e32\u6570\u7ec4\u7c7b\u578b\uff09\u4e2d\uff0c\u6dfb\u52a0\u4e0a\u4f60\u81ea\u5df1\u7684QQ\u53f7\uff08\u4f5c\u4e3a\u8d85\u7ea7\u7528\u6237\u7ba1\u7406\u6d3e\u8499Bot\uff09\u3002<\/p>\n<p><img src=\".\/..\/pic\/superuserconfig.jpg\" alt=\"superuser\" loading=\"lazy\"><\/p>\n<h2 id=\"\u8fd0\u884c\"> \u8fd0\u884c<\/h2>\n<p>\u7c7b\u4f3c<a href=\".\/#\u7b2c\u4e00\u6b21\u542f\u52a8\">\u7b2c\u4e00\u6b21\u542f\u52a8<\/a>\uff0c\u518d\u6b21\u8fd0\u884c\u6d3e\u8499\u673a\u5668\u4eba\u3002<\/p>\n<p><strong>\u6ce8\u610f<\/strong>\uff01\u6d3e\u8499Bot\u548cGo-cqhttp\u90fd\u8981\u8fd0\u884c\uff0c\u7f3a\u4e00\u4e0d\u53ef\u3002<\/p>\n<p><strong>\u5982\u679c\u542f\u52a8\u6210\u529f\uff0c\u90a3\u4e48\u4f60\u5c31\u53ef\u4ee5\u5feb\u4e50\u5730\u4e0e\u6d3e\u8499Bot\u73a9\u800d\u5566<\/strong><\/p>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-01-09T09:50:40.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5728Windows\u4e0b\u5b89\u88c5\u6d3e\u8499Bot","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/","content_html":"<h1 id=\"\u5728windows\u4e0b\u5b89\u88c5\u6d3e\u8499bot\"> \u5728Windows\u4e0b\u5b89\u88c5\u6d3e\u8499Bot<\/h1>\n<h2 id=\"\u4e0b\u8f7d\"> \u4e0b\u8f7d<\/h2>\n<p>\u9996\u5148\uff0c\u5230<a href=\"https:\/\/github.com\/RicheyJang\/PaimengBot\/releases\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Release<\/strong><\/a>\u9875\u9762\u4e0b\u8f7d\u6700\u65b0Windows\u7248\u672c\u7684\u6d3e\u8499Bot\uff0c\u89e3\u538b\u7f29\u81f3\u4efb\u610f\u6587\u4ef6\u5939\u3002<\/p>\n<h2 id=\"\u7b2c\u4e00\u6b21\u542f\u52a8\"> \u7b2c\u4e00\u6b21\u542f\u52a8<\/h2>\n<p>\u4f7f\u7528\u547d\u4ee4\u884c\uff08\u5982cmd\u3001Powershell\uff09\u5728\u89e3\u538b\u540e\u7684\u6587\u4ef6\u5939\u4e2d\u6267\u884c\uff1a<\/p>\n<div><pre><code>paimeng.exe\n<\/code><\/pre>\n<div><span>1<\/span><br><\/div><\/div><p>\u8fd0\u884c\u540e\uff0c\u4f1a\u81ea\u52a8\u751f\u6210\u4e3b\u914d\u7f6e\u6587\u4ef6<code>config-main.yaml<\/code>\uff0c\u968f\u540e\u7a0b\u5e8f\u81ea\u52a8\u7ed3\u675f\u3002<\/p>\n<p><strong>\u63a5\u4e0b\u6765\uff0c\u8bf7\u5b89\u88c5<a href=\"cqhttp\">Go-CQHttp<\/a>\u548c<a href=\"database\">\u6570\u636e\u5e93<\/a><\/strong><\/p>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-01-01T11:39:58.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u5b89\u88c5SQLite","url":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/sqlite\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/install\/windows\/sqlite\/","content_html":"<h1 id=\"\u5b89\u88c5sqlite\"> \u5b89\u88c5SQLite<\/h1>\n<h2 id=\"\u5b89\u88c5\"> \u5b89\u88c5<\/h2>\n<p>\u4e00\u822c\u6765\u8bf4\uff0c\u65e0\u9700\u5b89\u88c5<\/p>\n<h2 id=\"\u914d\u7f6e\"> \u914d\u7f6e<\/h2>\n<p>\u968f\u540e\uff0c\u5728\u6d3e\u8499Bot\u6587\u4ef6\u5939\u4e0b\u7684config-main.yaml\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4fee\u6539db\u7684type\u914d\u7f6e\u9879\u4e3a<code>sqlite<\/code>\u3001name\u914d\u7f6e\u9879\u4e3a<code>.\/data\/sqlite.db<\/code>\u5373\u53ef\u3002<\/p>\n<p><img src=\".\/..\/pic\/sqlite.jpg\" alt=\"sqlite\" loading=\"lazy\"><\/p>\n","date_published":"2021-12-03T08:31:06.000Z","date_modified":"2021-12-03T09:08:34.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u6d3e\u8499Bot\u6587\u6863","url":" https:\/\/richeyjang.github.io\/PaimengBot\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/","content_html":"<p>\u4e00\u4e2a\u4f7f\u7528Onebot\u534f\u8bae\u3001\u57fa\u4e8eZeroBot\u7684QQ\u5a31\u4e50\u673a\u5668\u4eba\uff0c\u652f\u630130\u4f59\u79cd\u529f\u80fd\uff0c\u53ef\u4ee5\u5927\u5927\u4e30\u5bcc\u4f60\u7684QQ\u4f53\u9a8c\u6216\u7fa4\u6d3b\u8dc3\u5ea6\uff0c\u6b38\u563f\u3002<\/p>\n<div><p>\u63d0\u793a<\/p>\n<p>\u5982\u679c\u5b89\u88c5\u6216\u4f7f\u7528\u4e2d\u9047\u5230\u95ee\u9898\uff0c\u6b22\u8fce\u52a0\u7fa4<a href=\"https:\/\/qm.qq.com\/cgi-bin\/qm\/qr?k=2u70XSTgORNbVzAnnsSYD2GLrelRuQC6&amp;jump_from=webapi\" target=\"_blank\" rel=\"noopener noreferrer\">\u5e94\u6025\u98df\u54c1\u6d4b\u8bd5\u7fa4(724694686)<\/a><\/p>\n<\/div>\n<div><p>\u63a8\u8350<\/p>\n<p>\u63a8\u8350\u4f7f\u7528go-cqhttp\u4f5c\u4e3aQQ\u524d\u7aef\uff0c\u63a8\u8350\u5b89\u88c5\u5728Ubuntu\u4e2d\uff0c\u63a8\u8350\u4f7f\u7528PostgreSQL\u4f5c\u4e3a\u6570\u636e\u5e93\uff0c\u4f46\u82e5\u4f60\u6ca1\u6709\u6570\u636e\u5e93\u57fa\u7840\u4e5f\u65e0\u9700\u62c5\u5fc3\uff0c\n\u6d3e\u8499Bot\u652f\u6301SQLite\uff1a\u4e00\u79cd\u8f7b\u578b\u3001\u65e0\u9700\u914d\u7f6e\u7684\u5355\u6587\u4ef6\u5f0f\u6570\u636e\u5e93\u3002<\/p>\n<\/div>\n<p>\u5b89\u88c5\u4e0e\u914d\u7f6e\u65f6\u9700\u8981\u5c11\u91cf\u7684\u547d\u4ee4\u884c\u64cd\u4f5c\u57fa\u7840\uff0c\u4e00\u822c\u6765\u8bf4\uff0c\u8ba1\u7b97\u673a\u7eaf\u5c0f\u767d\u4e5f\u53ef\u4ee5\u57281\u5c0f\u65f6\u5185\u5b8c\u6210\u914d\u7f6e\uff0c\u8fdb\u884c\u6109\u5feb\u7684\u73a9\u800d\u3002<\/p>\n<p>\u70b9\u51fb\u4e0a\u65b9\u7684<a href=\".\/install\/\"><strong>\u5f00\u59cb\u5b89\u88c5<\/strong><\/a>\u6765\u90e8\u7f72\u53ef\u7231\u7684\u6d3e\u8499Bot\u5427\uff01<\/p>\n<p>\u5f00\u53d1\u4e0d\u6613\uff0c\u5982\u679c\u89c9\u5f97\u6d3e\u8499Bot\u8fd8\u4e0d\u9519\u7684\u8bdd\uff0c\u5c31\u70b9\u4e2astar\u5427\uff1a<a href=\"https:\/\/github.com\/RicheyJang\/PaimengBot\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Github<\/strong><\/a><\/p>\n","date_published":"2021-12-02T14:30:45.000Z","date_modified":"2022-02-26T03:50:23.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u57fa\u7840\u63d2\u4ef6\u8be6\u60c5","url":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/basic\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/basic\/","content_html":"<h1 id=\"\u57fa\u7840\u63d2\u4ef6\u8be6\u60c5\"> \u57fa\u7840\u63d2\u4ef6\u8be6\u60c5<\/h1>\n<div><p>\u7ea6\u5b9a<\/p>\n<p>\u4e0b\u5217\u6587\u6863\u4e2d\uff0c\u4f7f\u7528<code>\u7070\u5e95<\/code>\u6807\u51fa\u7684\uff0c\u7686\u4e3aconfig-plugin.yaml\u6587\u4ef6<a href=\".\/#\u63d2\u4ef6\u914d\u7f6e\">\u914d\u7f6e\u9879<\/a>\u3002<\/p>\n<p>\u6b64\u5916\uff0c\u547d\u4ee4\u4e2d\u6240\u51fa\u73b0\u7684\uff1a\u65b9\u62ec\u53f7[]\u5185\u7684\u5185\u5bb9\uff0c\u4ee3\u8868\u4e00\u4e2a\u53c2\u6570<\/p>\n<\/div>\n<h3 id=\"\u6743\u9650\u7ba1\u7406\"> \u6743\u9650\u7ba1\u7406<\/h3>\n<ul>\n<li><strong>\u8d85\u7ea7\u7528\u6237\u4e13\u5c5e<\/strong><\/li>\n<li><strong>\u914d\u7f6e\u9879<\/strong>\uff1a<code>auth<\/code><\/li>\n<li><strong>\u8bf4\u660e<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u90e8\u5206\u63d2\u4ef6\u4f1a\u6709\u6700\u4f4e\u6743\u9650\u7b49\u7ea7\u8981\u6c42\uff0c\u5373\u5728\u5e2e\u52a9\u4e2d\u4ee5\u65b9\u62ec\u53f7\u5305\u88f9\u7684\u6570\u5b57\uff0c\u53ea\u6709\u9ad8\u4e8e\u8be5\u6743\u9650\u7b49\u7ea7\u7684\u7fa4\u6210\u5458\u624d\u80fd\u4f7f\u7528<\/p>\n<p>\u672c\u63d2\u4ef6\u7528\u4e8e\u8fdb\u884c\u7fa4\u6210\u5458\u6743\u9650\u7b49\u7ea7\u8bbe\u7f6e\uff0c\u4fdd\u8bc1\u7528\u6237\u4e0d\u4f1a\u505a\u51fa\u8d8a\u6743\u884c\u4e3a\uff08\u4f8b\u5982\u666e\u901a\u7528\u6237\u7981\u7528\u672c\u7fa4\u67d0\u4e2a\u529f\u80fd\uff09\u3002<\/p>\n<ul>\n<li><strong>\u547d\u4ee4<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u66f4\u65b0\u7ba1\u7406\u5458\u6743\u9650\uff1a\u4f1a\u5c06\u6240\u6709\u7fa4\u4e2d\u672a\u88ab\u8bbe\u7f6e\u6743\u9650\u7684\u7fa4\u7ba1\u7406\u5458\u8bbe\u4e3a\u9ed8\u8ba4\u6743\u9650\u7b49\u7ea7\uff08\u914d\u7f6e\u9879<code>auth.defaultlevel<\/code>\uff09<\/p>\n<p>\u8bbe\u7f6e\u7ba1\u7406\u5458\u6743\u9650 [\u7fa4\u53f7] [\u7528\u6237QQ\u53f7] [Level]\uff1a\u5c06\u6307\u5b9a\u7fa4\u7684\u6307\u5b9a\u7528\u6237\u6743\u9650\u8bbe\u4e3aLevel<\/p>\n<ul>\n<li><strong>\u5176\u5b83<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u6bcf\u65e51\u70b95\u5206\uff0c\u4f1a\u81ea\u52a8\u5c06\u6240\u6709\u7fa4\u4e2d\u672a\u88ab\u8bbe\u7f6e\u6743\u9650\u7684\u7ba1\u7406\u5458\u8bbe\u4e3a\u9ed8\u8ba4\u6743\u9650\u7b49\u7ea7\uff08<code>auth.defaultlevel<\/code>\uff09<\/p>\n<p>\u6743\u9650level(&gt;=1)\u6570\u5b57\u8d8a\u5c0f\uff0c\u6743\u9650\u8d8a\u9ad8<\/p>\n<p>\u8d85\u7ea7\u7ba1\u7406\u5458\u7684\u6743\u9650\u4f1a\u88ab\u786e\u4fdd\u81f3\u5c11\u4e3a<code>auth.superlevel<\/code>\u7ea7<\/p>\n<p>\u90e8\u5206\u63d2\u4ef6\u5df2\u9884\u7f6e\u4e86\u6700\u4f4e\u6743\u9650\u7b49\u7ea7\uff0c\u4f46\u6240\u6709\u63d2\u4ef6\u7686\u53ef\u901a\u8fc7config-plugin\u6587\u4ef6\u8fdb\u884c\u6743\u9650\u7b49\u7ea7\u914d\u7f6e<\/p>\n<p>\u53ea\u9700\u914d\u7f6e\u8be5\u6587\u4ef6\u4e2d\u7684 <code>\u63d2\u4ef6Key.adminlevel<\/code> \u914d\u7f6e\u9879\uff0c\u5373\u53ef\u8bbe\u7f6e\u6307\u5b9a\u63d2\u4ef6\u7684\u6700\u4f4e\u6743\u9650\u7b49\u7ea7\u4e86<\/p>\n<p>\u4f8b\u5982\u5c06 <code>translate.adminlevel<\/code> \u914d\u7f6e\u9879\u503c\u8bbe\u4e3a5\uff0c\u5219\u53ea\u6709\u7fa4\u6743\u9650\u7b49\u7ea7\u9ad8\u4e8e5(level&lt;=5)\u7684\u6210\u5458\u624d\u80fd\u4f7f\u7528\u7ffb\u8bd1\u63d2\u4ef6<\/p>\n<h3 id=\"\u9650\u6d41\"> \u9650\u6d41<\/h3>\n<ul>\n<li><strong>\u8bf4\u660e<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u7edf\u7b79\u6240\u6709\u63d2\u4ef6\u7684CD\u9650\u6d41\uff0c\u5373\u5355\u7528\u6237\u8c03\u7528\u5355\u4e2a\u63d2\u4ef6\u529f\u80fd\u7684\u6700\u5927\u65f6\u95f4\u95f4\u9694\uff0c\u82e5\u8c03\u7528\u8fc7\u4e8e\u9891\u7e41\uff0c\u4e24\u6b21\u8c03\u7528\u7684\u95f4\u9694\u5c0f\u4e8e\u6240\u914d\u7f6e\u7684CD\u65f6\u957f\uff0c\u5c06\u81ea\u52a8\u963b\u6b62\u6b64\u6b21\u8c03\u7528\u3002<\/p>\n<ul>\n<li><strong>\u914d\u7f6e\u9879<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u5206\u4e3a\u5168\u5c40CD\u4ee5\u53ca\u5355\u63d2\u4ef6CD\uff1a<\/p>\n<p>\u901a\u8fc7<code>limiter.globalcd<\/code>\u6765\u914d\u7f6e\u5168\u5c40CD\uff0c\u5c06\u5bf9\u6240\u6709\u63d2\u4ef6\u751f\u6548<\/p>\n<p>\u901a\u8fc7\u914d\u7f6econfig-plugin\u6587\u4ef6\u4e0b\u7684<code>\u63d2\u4ef6Key.cd<\/code>\u914d\u7f6e\u9879\u6765\u8bbe\u7f6e\u9488\u5bf9\u8be5\u63d2\u4ef6\u7684CD\uff0c\u8be5CD\u4f18\u5148\u7ea7\u9ad8\u4e8e\u5168\u5c40CD<\/p>\n<p>\u4f8b\u5982\uff1a\u60f3\u8981\u914d\u7f6e\u7ffb\u8bd1\u63d2\u4ef6\u7684CD\u65f6\u957f\u4e3a1\u5206\u949f30\u79d2\uff0c\u5728config-plugin\u6587\u4ef6\u4e2d\u65b0\u589e\u6216\u4fee\u6539<code>translate.cd<\/code>\u914d\u7f6e\u9879\u4e3a1m30s\u5373\u53ef\u3002<\/p>\n<h3 id=\"\u5e2e\u52a9\"> \u5e2e\u52a9<\/h3>\n<ul>\n<li><strong>\u8bf4\u660e<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u53ef\u4ee5\u6e05\u6670\u660e\u4e86\u5730\u8bf4\u660e\u63d2\u4ef6\u7684\u529f\u80fd\uff0c\u4ee5\u53ca\u63d2\u4ef6\u7684\u4f7f\u7528\u65b9\u6cd5\u3002<\/p>\n<ul>\n<li><strong>\u547d\u4ee4<\/strong>\uff1a<\/li>\n<\/ul>\n<p>\u5e2e\u52a9\uff1a \u5206\u7c7b\u67e5\u770b\u6240\u6709\u63d2\u4ef6\u5217\u8868<\/p>\n<p>\u5e2e\u52a9 [\u63d2\u4ef6\u540d]\uff1a \u67e5\u770b\u6307\u5b9a\u63d2\u4ef6\u7684\u8be6\u7ec6\u5e2e\u52a9<\/p>\n","date_published":"2021-12-03T11:43:56.000Z","date_modified":"2022-02-26T03:50:23.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u63d2\u4ef6\u5217\u8868","url":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/list\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/list\/","content_html":"<h1 id=\"\u63d2\u4ef6\u5217\u8868\"> \u63d2\u4ef6\u5217\u8868<\/h1>\n<p>\u4ee5\u4e0b\u4e3a\u6d3e\u8499Bot\u5df2\u7ecf\u96c6\u6210\u7684\u63d2\u4ef6\u5217\u8868\uff1a<\/p>\n<div><p>\u63d0\u793a<\/p>\n<p>\u6b64\u5217\u8868\u53ef\u80fd\u66f4\u65b0\u4e0d\u53ca\u65f6\uff0c\u6700\u65b0\u5217\u8868\u53ca\u5404\u63d2\u4ef6Key\u8bf7\u53c2\u9605Github <a href=\"https:\/\/github.com\/RicheyJang\/PaimengBot#%E5%8A%9F%E8%83%BD\" target=\"_blank\" rel=\"noopener noreferrer\">README\u6587\u6863\u7684\u529f\u80fd\u5217\u8868<\/a>\u3002<\/p>\n<\/div>\n<h2 id=\"\u57fa\u672c\u529f\u80fd\u63d2\u4ef6\"> <a href=\"basic\">\u57fa\u672c\u529f\u80fd\u63d2\u4ef6<\/a><\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-0\"> <a href=\".\/basic\/#\u6743\u9650\u7ba1\u7406\">\u6743\u9650\u7ba1\u7406<\/a><label for=\"task-item-0\"> [\u6743\u9650\u7ba1\u7406](basic\/#\u6743\u9650\u7ba1\u7406)\uff1a\u7ba1\u7406\u6307\u5b9a\u7528\u6237\u5728\u6307\u5b9a\u7fa4\u7684\u6743\u9650\uff0c\u80fd\u4e0d\u80fd\u5f00\u5173\u672c\u7fa4\u529f\u80fd\u4e4b\u7c7b\u7684<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-1\"><label for=\"task-item-1\"> \u529f\u80fd\u5f00\u5173\uff1a\u7ba1\u7406\u54ea\u4e9b\u7528\u6237\u3001\u54ea\u4e9b\u7fa4\u53ef\u4ee5\u4f7f\u7528\u54ea\u4e9b\u63d2\u4ef6<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-2\"><label for=\"task-item-2\"> \u597d\u53cb\/\u7fa4\u7ba1\u7406\uff1a\u62e6\u622a\u3001\u5904\u7406\u597d\u53cb\u8bf7\u6c42\/\u7fa4\u9080\u8bf7\uff1b\u5f3a\u884c\u88ab\u62c9\u5165\u7fa4\u65f6\u81ea\u52a8\u9000\u7fa4<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-3\"> <a href=\".\/basic\/#\u5e2e\u52a9\">\u5e2e\u52a9<\/a><label for=\"task-item-3\"> [\u5e2e\u52a9](basic\/#\u5e2e\u52a9)\uff1a\u67e5\u770b\u6240\u6709\u63d2\u4ef6\uff0c\u4ee5\u53ca\u6307\u5b9a\u63d2\u4ef6\u7684\u8be6\u7ec6\u7528\u6cd5<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-4\"> <a href=\".\/basic\/#\u9650\u6d41\">\u9650\u6d41<\/a><label for=\"task-item-4\"> [\u9650\u6d41](basic\/#\u9650\u6d41)\uff1a\u8bbe\u7f6e\u6307\u5b9a\u63d2\u4ef6\u7684CD\u65f6\u957f\uff0c\u4e0d\u540c\u7528\u6237\u95f4\u7684CD\u76f8\u4e92\u72ec\u7acb\u54e6\uff0c\u9632\u6b62\u6076\u610f\u8c03\u7528<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-5\"><label for=\"task-item-5\"> \u7528\u6237\u6635\u79f0\u7cfb\u7edf\uff1a\u8ba9\u6d3e\u8499Bot\u4ee5\u4f60\u559c\u6b22\u7684\u6635\u79f0\u79f0\u547c\u4f60~\uff0c\u4e0d\u540c\u7fa4\u4e4b\u95f4\u901a\u7528\u54e6<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-6\"><label for=\"task-item-6\"> \u7b7e\u5230\u4e0e\u8d22\u5bcc<\/label><\/li>\n<\/ul>\n<h2 id=\"\u4e00\u822c\u63d2\u4ef6\"> \u4e00\u822c\u63d2\u4ef6<\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-7\"><label for=\"task-item-7\"> \u804a\u5929\\\u81ea\u5b9a\u4e49\u95ee\u7b54\uff1a\u53ef\u4ee5\u901a\u8fc7\u5bf9\u8bdd\u6216\u6587\u4ef6\u95ee\u7b54\u5e93\u7684\u65b9\u5f0f\u81ea\u5b9a\u4e49\u95ee\u7b54\uff0c\u652f\u6301\u6b63\u5219\u3001\u591a\u7b54\u53e5\u968f\u673a\u3001\u7b54\u53e5CQ\u7801\u3001\u53d8\u91cf<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-8\"><label for=\"task-item-8\"> \u8054\u7cfb\u7ba1\u7406\u5458\uff1a\u901a\u8fc7\u6d3e\u8499Bot\u5411\u5176\u8d85\u7ea7\u7528\u6237\u53d1\u6d88\u606f<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-9\"><label for=\"task-item-9\"> \u590d\u8bfb<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-10\"><label for=\"task-item-10\"> \u81ea\u68c0\uff1a\u68c0\u67e5\u6d3e\u8499Bot\u4ee5\u53ca\u670d\u52a1\u5668\u72b6\u6001\uff0c\u6e05\u7406\u4e34\u65f6\u6570\u636e<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-11\"><label for=\"task-item-11\"> \u529f\u80fd\u4f7f\u7528\u7edf\u8ba1(\u53ef\u5206\u4eba\u5206\u65e5)<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-12\"><label for=\"task-item-12\"> \u70b9\u6b4c<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-13\"><label for=\"task-item-13\"> \u968f\u673a\\\u968f\u673a\u6570<\/label><\/li>\n<\/ul>\n<h2 id=\"\u539f\u795e\u76f8\u5173\"> \u539f\u795e\u76f8\u5173<\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-14\"><label for=\"task-item-14\"> \u4eca\u65e5\u53ef\u809d\u7d20\u6750\u67e5\u8be2<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-15\"><label for=\"task-item-15\"> \u6a21\u62df\u539f\u795e\u62bd\u5361<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-16\"><label for=\"task-item-16\"> \u7c73\u6e38\u793e\u7ba1\u7406<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-17\"><label for=\"task-item-17\"> \u7c73\u6e38\u793e\u7b7e\u5230<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-18\"><label for=\"task-item-18\"> \u539f\u795e\u4fbf\u7b3a\u67e5\u8be2<\/label><\/li>\n<\/ul>\n<h2 id=\"\u5b9e\u7528\u5de5\u5177\"> \u5b9e\u7528\u5de5\u5177<\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-19\"><label for=\"task-item-19\"> B\u7ad9\u8ba2\u9605\u3001\u81ea\u52a8\u63a8\u9001<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-20\"><label for=\"task-item-20\"> \u4efb\u610f\u8bed\u79cd\u7ffb\u8bd1(\u751a\u81f3\u6587\u8a00\u6587)<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-21\"><label for=\"task-item-21\"> \u7b80\u5199\u7ffb\u8bd1\uff1a\u5c06\u7f51\u7edc\u4e2d\u7684\u5404\u7c7b\u5168\u5b57\u6bcd\u7b80\u5199\u7ffb\u8bd1\u6210\u4eba\u8bdd\uff0c\u4f8b\u5982yyds->\u6c38\u8fdc\u6ef4\u795e<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-22\"><label for=\"task-item-22\"> \u641c\u6897<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-23\"><label for=\"task-item-23\"> \u8bc6\u56fe\u641c\u756a<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-24\"><label for=\"task-item-24\"> \u75ab\u60c5\u67e5\u8be2<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-25\"><label for=\"task-item-25\"> \u77ed\u94fe\u63a5\u8fd8\u539f<\/label><\/li>\n<li><input type=\"checkbox\"  disabled=\"disabled\" id=\"task-item-26\"><label for=\"task-item-26\"> \u77ed\u94fe\u63a5\u751f\u6210(\u9632\u6b62\u6ee5\u7528\uff0c\u6682\u4e0d\u63d0\u4f9b)<\/label><\/li>\n<\/ul>\n<h2 id=\"\u7fa4\u529f\u80fd\"> \u7fa4\u529f\u80fd<\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-27\"><label for=\"task-item-27\"> \u7fa4\u7ba1\u7406:\u5feb\u6377\u7981\u8a00\/\u8e22\u4eba\/\u62c9\u9ed1<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-28\"><label for=\"task-item-28\"> \u64a4\u56de\u6d88\u606f<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-29\"><label for=\"task-item-29\"> \u8bbe\u7f6e\u5165\u7fa4\u6b22\u8fce<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-30\"><label for=\"task-item-30\"> \u6309\u5173\u952e\u8bcd\u64a4\u56de<\/label><\/li>\n<\/ul>\n<h2 id=\"\u5c0f\u6e38\u620f\"> \u5c0f\u6e38\u620f<\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-31\"><label for=\"task-item-31\"> \u770b\u56fe\u731c\u6210\u8bed<\/label><\/li>\n<li><input type=\"checkbox\"  disabled=\"disabled\" id=\"task-item-32\"><label for=\"task-item-32\"> \u8c01\u662f\u5367\u5e95<\/label><\/li>\n<li><input type=\"checkbox\"  disabled=\"disabled\" id=\"task-item-33\"><label for=\"task-item-33\"> \u6587\u5b57RPG<\/label><\/li>\n<\/ul>\n<h2 id=\"\u597d\u5eb7\u7684\"> \u597d\u5eb7\u7684<\/h2>\n<ul>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-34\"><label for=\"task-item-34\"> \u6da9\u56fe<\/label><\/li>\n<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\" id=\"task-item-35\"><label for=\"task-item-35\"> Pixiv\u6392\u884c\u699c<\/label><\/li>\n<li><input type=\"checkbox\"  disabled=\"disabled\" id=\"task-item-36\"><label for=\"task-item-36\"> \u67e5\u770bPixiv\u63d2\u56fe\u6240\u6709\u5206P<\/label><\/li>\n<li><input type=\"checkbox\"  disabled=\"disabled\" id=\"task-item-37\"><label for=\"task-item-37\"> coser<\/label><\/li>\n<\/ul>\n<p>\u5176\u5b83\u63d2\u4ef6\u6b63\u5728\u5feb\u901f\u5f00\u53d1\u4e2d~<\/p>\n","date_published":"2022-01-01T11:39:58.000Z","date_modified":"2022-03-18T06:32:44.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u4e3b\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e","url":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/main\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/main\/","content_html":"<h1 id=\"\u4e3b\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e\"> \u4e3b\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e<\/h1>\n<div><p>\u7ea6\u5b9a<\/p>\n<p>\u4e0b\u5217\u6587\u6863\u4e2d\uff0c\u4f7f\u7528<code>\u7070\u5e95<\/code>\u6807\u51fa\u7684\uff0c\u7686\u4e3aconfig-main.yaml\u6587\u4ef6\u914d\u7f6e\u9879\u3002<\/p>\n<\/div>\n<h2 id=\"\u90e8\u7f72\u76f8\u5173\"> \u90e8\u7f72\u76f8\u5173<\/h2>\n<p>\u4ee5\u4e0b\u914d\u7f6e\u9879\u5728\u90e8\u7f72\u6210\u529f\u5b8c\u6210\u540e\u4fbf\u4e0d\u5efa\u8bae\u5bf9\u5176\u8fdb\u884c\u6539\u52a8\uff1a<\/p>\n<ul>\n<li>\n<p><code>db<\/code>: \u6570\u636e\u5e93\u914d\u7f6e\uff0c\u5305\u62ec\uff1a\u6570\u636e\u5e93\u7c7b\u578b<code>db.type<\/code>\u3001\u6570\u636e\u5e93Host<code>db.host<\/code>\u3001\u6570\u636e\u5e93\u7aef\u53e3<code>db.port<\/code>\u3001\u6570\u636e\u5e93\u540d<code>db.name<\/code>\u3001\u6570\u636e\u5e93\u767b\u5f55\u7528\u6237\u540d<code>db.user<\/code>\u3001\u6570\u636e\u5e93\u767b\u5f55\u5bc6\u7801<code>db.passwd<\/code>\u3002<strong>\u6b64\u914d\u7f6e\u9879\u4e0d\u652f\u6301\u70ed\u66f4\u65b0<\/strong><\/p>\n<\/li>\n<li>\n<p><code>server<\/code>: \u4e0ego-cqhttp\u901a\u4fe1\u5bf9\u63a5\u7684\u76f8\u5173\u914d\u7f6e\uff0c\u5305\u62ec\uff1ago-cqhttp\u7aef\u5730\u5740<code>server.address<\/code>\u3001\u901a\u4fe1Token<code>server.token<\/code>\uff0c\u9700\u4e0ego-cqhttp\u7aef\u4e00\u81f4\u3002<strong>\u6b64\u914d\u7f6e\u9879\u4e0d\u652f\u6301\u70ed\u66f4\u65b0<\/strong><\/p>\n<\/li>\n<li>\n<p><code>log<\/code>: \u65e5\u5fd7\u914d\u7f6e\uff0c\u5305\u62ec\uff1a\u65e5\u5fd7\u6700\u5927\u4fdd\u7559\u5929\u6570<code>log.date<\/code>\u3001\u65e5\u5fd7\u8f93\u51fa\u7ea7\u522b<code>log.level<\/code>\u3002<\/p>\n<\/li>\n<li>\n<p><code>tmp<\/code>: \u4e34\u65f6\u6587\u4ef6\u76f8\u5173\u914d\u7f6e\uff0c\u5305\u62ec\uff1a\u540c\u7c7b\u578b\u4e34\u65f6\u6587\u4ef6\u6570\u91cf\u4e0a\u9650<code>tmp.maxcount<\/code>\u3002<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"\u8fd0\u884c\u76f8\u5173\"> \u8fd0\u884c\u76f8\u5173<\/h2>\n<ul>\n<li>\n<p><code>nickname<\/code>: \u6d3e\u8499Bot\u7684\u540d\u5b57\uff0c\u9ed8\u8ba4\u4e3a<em>\u6d3e\u8499<\/em>\u3002<\/p>\n<\/li>\n<li>\n<p><code>superuser<\/code>: \u6d3e\u8499Bot\u7684\u8d85\u7ea7\u7528\u6237\u5217\u8868\uff0c\u4e3a\u6570\u7ec4\u7c7b\u578b\uff0c\u586b\u5199\u8d85\u7ea7\u7528\u6237\u4eec\u7684QQ\u53f7\u5373\u53ef\uff0c\u8bf7\u52ff\u6dfb\u52a0\u4f5c\u4e3aBot\u7684QQ\u53f7\u3002<\/p>\n<\/li>\n<li>\n<p><code>plugins-always-call<\/code>: \u8be5\u914d\u7f6e\u9879\u503c\u53ef\u4ee5\u4e3a\uff1atrue\u3001false\u3001\u5217\u8868\uff08\u5b57\u7b26\u4e32\u6570\u7ec4\uff09\uff1a<em>true<\/em>\u4ee3\u8868\u6240\u6709\u529f\u80fd\u53ef\u4ee5\u81ea\u7531\u8c03\u7528\uff0c\u5373\u5728\u7fa4\u804a\u4e2d\u8c03\u7528\u65f6<strong>\u65e0\u9700<\/strong>\u52a0\u4e0a\u6d3e\u8499Bot\u540d\u5b57\u524d\u7f00\u6216@\u6d3e\u8499Bot\uff1b<em>false<\/em>\u4ee3\u8868\u90e8\u5206\u53ef\u80fd\u4ea7\u751f\u6b67\u4e49\u7684\u529f\u80fd\u5728\u7fa4\u804a\u4e2d\u8c03\u7528\u65f6<strong>\u9700\u8981<\/strong>\u52a0\u4e0a\u6d3e\u8499Bot\u540d\u5b57\u524d\u7f00\u6216@\u6d3e\u8499\uff0c\u9ed8\u8ba4\u503c\uff1b\u5217\u8868\u5219\u8868\u793a\u53ea\u6709\u6240\u5217\u51fa\u7684\u63d2\u4ef6(Key)\u53ef\u4ee5\u81ea\u7531\u8c03\u7528\u3002<strong>\u6b64\u914d\u7f6e\u9879\u4e0d\u652f\u6301\u70ed\u66f4\u65b0<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u4f8b\u5982\uff0c\u82e5\u5c06<code>plugins-always-call<\/code>\u914d\u7f6e\u6210\uff1a<\/p>\n<div><pre><code><span>plugins-always-call<\/span><span>:<\/span>\n<span>-<\/span> chat\n<span>-<\/span> help\n<\/code><\/pre>\n<div><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><\/div><\/div><p>\u90a3\u4e48\uff0c\u53ea\u6709\u804a\u5929\u63d2\u4ef6\u53ca\u5e2e\u52a9\u63d2\u4ef6\u53ef\u4ee5\u81ea\u7531\u8c03\u7528\uff0c\u800c\u5176\u4ed6\u63d2\u4ef6\u5728\u7fa4\u804a\u4e2d\u8c03\u7528\u65f6\uff0c\u9700\u8981\u52a0\u4e0a\u6d3e\u8499Bot\u540d\u5b57\u524d\u7f00\u6216@\u6d3e\u8499Bot\u3002<\/p>\n","date_published":"2022-02-26T03:50:23.000Z","date_modified":"2022-02-26T05:57:59.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u4f7f\u7528\u6587\u6863","url":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/","content_html":"<h1 id=\"\u4f7f\u7528\u65b9\u6cd5\"> \u4f7f\u7528\u65b9\u6cd5<\/h1>\n<div><p>\u63d0\u793a<\/p>\n<p>\u6700\u57fa\u672c\u7684\uff0c\u6d3e\u8499Bot\u662f\u4e00\u4e2a<strong>QQ\u673a\u5668\u4eba<\/strong>\uff0c<a href=\".\/..\/install\/\">\u90e8\u7f72\u5b89\u88c5<\/a>\u5b8c\u6210\u540e\uff0c\u8bf7\u4f7f\u7528\u4f60\u7684QQ\u4e0e\u673a\u5668\u4ebaQQ\u8fdb\u884c\u5bf9\u8bdd\u4ea4\u6d41\u3002<\/p>\n<\/div>\n<h2 id=\"\u7b80\u4ecb\"> \u7b80\u4ecb<\/h2>\n<p>\u6d3e\u8499Bot\u4f7f\u7528<strong>\u63d2\u4ef6\u5f0f\u7ba1\u7406<\/strong>\uff0c\u4e00\u4e2a\u63d2\u4ef6\u4e3a\u4e00\u4e2a\u540c\u7c7b\u578b\u529f\u80fd\u96c6\u5408\u3002<\/p>\n<p>\u4f8b\u5982\uff0c\u7ffb\u8bd1\u63d2\u4ef6\uff0c\u5b83\u63d0\u4f9b\u4e86\u5e38\u7528\u8bed\u79cd\u95f4\u7684\u6587\u672c\u7ffb\u8bd1\u529f\u80fd\uff0c\u5411\u6d3e\u8499Bot\u8bf4\uff1a<code>\u7ffb\u8bd1 hello<\/code>\uff0c\u5b83\u4f1a\u5c06&quot;hello&quot;\u7ffb\u8bd1\u6210\u4e2d\u6587\uff0c\u56de\u590d<code>\u4f60\u597d<\/code>\uff1b\u540c\u6837\u5c5e\u4e8e\u7ffb\u8bd1\u63d2\u4ef6\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5bf9\u5979\u8bf4\uff1a<code>\u4e2d\u6587\u7ffb\u8bd1\u6210\u65e5\u8bed \u4f60\u597d<\/code>\uff0c\u5b83\u4f1a\u5c06&quot;\u4f60\u597d&quot;\u7ffb\u8bd1\u6210\u65e5\u8bed\uff0c\u56de\u590d<code>\u3053\u3093\u306b\u3061\u306f<\/code>\uff1b\u8bf8\u5982\u6b64\u7c7b\u3002<\/p>\n<div><p>\u63d0\u793a<\/p>\n<p>\u60f3\u8981\u5feb\u901f\u5f97\u77e5\u90fd\u6709\u54ea\u4e9b\u63d2\u4ef6\uff1f\u5411\u6d3e\u8499Bot\u53d1\u6d88\u606f\uff1a<code>\u5e2e\u52a9<\/code>\u6216\u8005<code>\u529f\u80fd<\/code><\/p>\n<p>\u60f3\u8981\u5feb\u901f\u5f97\u77e5\u67d0\u4e2a\u63d2\u4ef6\u7684\u7528\u6cd5\uff1f\u5411\u6d3e\u8499Bot\u53d1\u6d88\u606f\uff1a<code>\u5e2e\u52a9 [\u63d2\u4ef6\u540d]<\/code>\uff0c\u4f8b\u5982 <code>\u5e2e\u52a9 \u7ffb\u8bd1<\/code><\/p>\n<p>\u800c\u4e14\uff0c\u6d3e\u8499Bot\u6b63\u5728\u5feb\u901f\u8fed\u4ee3\u4e2d\uff0c<strong>\u672c\u6587\u6863\u4e0d\u4e00\u5b9a\u66f4\u65b0\u53ca\u65f6\uff0c\u8bf7\u4ee5<code>\u5e2e\u52a9<\/code>\u5185\u5bb9\u4e3a\u51c6<\/strong><\/p>\n<\/div>\n<h2 id=\"\u4e3b\u914d\u7f6e\"> \u4e3b\u914d\u7f6e<\/h2>\n<div><p>\u63d0\u793a<\/p>\n<p>\u6d3e\u8499Bot\u7684\u6240\u6709\u914d\u7f6e\u9ed8\u8ba4\u4f7f\u7528YAML\u683c\u5f0f\uff0c\u4e00\u79cd\u6bd4\u8f83\u7b80\u5355\u7684\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\uff0c\u53c2\u8003<a href=\"https:\/\/www.runoob.com\/w3cnote\/yaml-intro.html\" target=\"_blank\" rel=\"noopener noreferrer\">\u83dc\u9e1f\u6559\u7a0b<\/a><\/p>\n<\/div>\n<p>\u6d3e\u8499Bot\u5168\u5c40\u4e0a\u7684\u4e00\u4e9b\u914d\u7f6e\u9879\uff0c\u4f8b\u5982\u6570\u636e\u5e93\u3001\u65e5\u5fd7\u7b49\u7ea7\u3001\u8d85\u7ea7\u7528\u6237\u7b49\uff0c\u7edf\u4e00\u4f7f\u7528config-main.yaml\u6587\u4ef6\u8fdb\u884c\u914d\u7f6e\u3002<\/p>\n<p>\u8be5\u6587\u4ef6\u7684\u914d\u7f6e\u9879\u8be6\u60c5\u8bf7\u53c2\u8003\u5de6\u4fa7<a href=\"main\">\u4e3b\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e<\/a>\u3002<\/p>\n<h2 id=\"\u63d2\u4ef6\u914d\u7f6e\"> \u63d2\u4ef6\u914d\u7f6e<\/h2>\n<p>\u5404\u4e2a\u63d2\u4ef6\u672c\u8eab\u7684\u914d\u7f6e\uff08\u4f8b\u5982\u6743\u9650\u7ba1\u7406\u63d2\u4ef6\u4e2d\u7fa4\u7ba1\u7406\u5458\u7684\u9ed8\u8ba4\u6743\u9650\u7b49\u7ea7\uff09\u7edf\u4e00\u4f7f\u7528config-plugin.yaml\u6587\u4ef6\u8fdb\u884c\u914d\u7f6e\u3002<\/p>\n<p>\u4f8b\u5982\uff0c\u6743\u9650\u7ba1\u7406\u63d2\u4ef6\u5728config-plugin.yaml\u6587\u4ef6\u4e2d\uff0c\u5176\u6240\u6709\u914d\u7f6e\u90fd\u5728<code>auth<\/code>\uff08\u5b83\u7684\u63d2\u4ef6Key\uff09\u914d\u7f6e\u9879\u5185\uff0c\u60f3\u8981\u914d\u7f6e\u7fa4\u7ba1\u7406\u5458\u7684\u9ed8\u8ba4\u6743\u9650\u7b49\u7ea7\uff0c\u53ea\u9700\u4fee\u6539<code>auth<\/code>\u914d\u7f6e\u9879\u4e0b\u7684\u5b50\u914d\u7f6e\u9879<code>defaultlevel<\/code>\u7684\u5185\u5bb9\uff08\u5192\u53f7\u540e\u7684\u90e8\u5206\uff09\u5373\u53ef\uff0c\u5176\u9ed8\u8ba4\u503c\u4e3a5\u3002<\/p>\n<p>\u5404\u4e2a\u63d2\u4ef6\u7684\u7528\u6cd5\u53ca\u914d\u7f6e\u9879\u8be6\u60c5\u8bf7\u53c2\u8003\u5de6\u4fa7<a href=\"list\">\u63d2\u4ef6\u5217\u8868<\/a>\u9879\u6216<code>\u5e2e\u52a9<\/code>\u547d\u4ee4\u3002<\/p>\n<div><p>\u7ea6\u5b9a<\/p>\n<p>\u5c06\u4f8b\u5982<code>auth<\/code>\u914d\u7f6e\u9879\u4e0b\u7684\u5b50\u914d\u7f6e\u9879<code>defaultlevel<\/code>\uff0c\u7b80\u5199\u8bb0\u4e3a<code>auth.defaultlevel<\/code><\/p>\n<\/div>\n<p>\u6b64\u5916\uff0c\u6240\u6709\u63d2\u4ef6\u914d\u7f6e\u90fd\u662f<strong>\u70ed\u66f4\u65b0<\/strong>\u7684\u54e6\uff08\u4fee\u6539\u540e\u65e0\u9700\u91cd\u542f\u7acb\u5373\u751f\u6548\uff09\u3002<\/p>\n","date_published":"2021-12-03T05:32:05.000Z","date_modified":"2022-02-26T05:57:59.000Z","authors":[{"name":"RicheyJang"}],"tags":[]},{"title":"\u4e00\u822c\u63d2\u4ef6","url":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/plugins\/","id":" https:\/\/richeyjang.github.io\/PaimengBot\/use\/plugins\/","content_html":"<h1 id=\"\u4e00\u822c\u63d2\u4ef6\"> \u4e00\u822c\u63d2\u4ef6<\/h1>\n<div><p>\u7ea6\u5b9a<\/p>\n<p>\u4e0b\u5217\u6587\u6863\u4e2d\uff0c\u4f7f\u7528<code>\u7070\u5e95<\/code>\u6807\u51fa\u7684\uff0c\u7686\u4e3aconfig-plugin.yaml\u6587\u4ef6<a href=\".\/#\u63d2\u4ef6\u914d\u7f6e\">\u914d\u7f6e\u9879<\/a>\u3002<\/p>\n<p>\u6b64\u5916\uff0c\u547d\u4ee4\u4e2d\u6240\u51fa\u73b0\u7684\uff1a\u65b9\u62ec\u53f7[]\u5185\u7684\u5185\u5bb9\uff0c\u4ee3\u8868\u4e00\u4e2a\u53c2\u6570<\/p>\n<\/div>\n<p>TODO<\/p>\n","date_published":"2021-12-03T11:43:56.000Z","date_modified":"2022-01-29T04:13:09.000Z","authors":[{"name":"RicheyJang"}],"tags":[]}]}