memory.jsonの保存先を変えられるようにする

This commit is contained in:
ふるふる 2021-12-04 16:41:13 +09:00
parent 9904c4a9dd
commit e77d9c8060
5 changed files with 35 additions and 3 deletions

View file

@ -1,10 +1,13 @@
config.json
font.ttf
data/memory.json
ai.*
*.md
*.png
Dockerfile
docker-compose.yml
LICENSE
node_modules/
test/
data/
.vscode/

View file

@ -20,11 +20,34 @@ Misskey用の日本語Botです。
"reversiEnabled": "藍とリバーシで対局できる機能を有効にする場合は true を入れる (無効にする場合は false)",
"serverMonitoring": "サーバー監視の機能を有効にする場合は true を入れる (無効にする場合は false)",
"mecab": "MeCab のインストールパス (ソースからインストールした場合、大体は /usr/local/bin/mecab)",
"mecabDic": "MeCab の辞書ファイルパス (オプション)"
"mecabDic": "MeCab の辞書ファイルパス (オプション)",
"memoryPath": "memory.jsonの保存先オプション、デフォルトは'.'(レポジトリのルートです))"
}
```
`npm install` して `npm run build` して `npm start` すれば起動できます
## Dockerで動かす
まず適当なディレクトリに `git clone` します。
次にそのディレクトリに `config.json` を作成します。中身は次のようにします:
MeCabの設定、memoryPathについては触らないでください
``` json
{
"host": "https:// + あなたのインスタンスのURL (末尾の / は除く)",
"i": "藍として動かしたいアカウントのアクセストークン",
"master": "管理者のユーザー名(オプション)",
"notingEnabled": "ランダムにノートを投稿する機能を無効にする場合は false を入れる",
"keywordEnabled": "キーワードを覚える機能 (MeCab が必要) を有効にする場合は true を入れる (無効にする場合は false)",
"chartEnabled": "チャート機能を無効化する場合は false を入れてください",
"reversiEnabled": "藍とリバーシで対局できる機能を有効にする場合は true を入れる (無効にする場合は false)",
"serverMonitoring": "サーバー監視の機能を有効にする場合は true を入れる (無効にする場合は false)",
"mecab": "/usr/bin/mecab",
"mecabDic": "/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/",
"memoryPath": "data"
}
```
`docker-compose build` して `docker-compose up` すれば起動できます。
`docker-compose.yml``enable_mecab``0` にすると、MeCabをインストールしないようにもできます。メモリが少ない環境など
## フォント
一部の機能にはフォントが必要です。藍にはフォントは同梱されていないので、ご自身でフォントをインストールディレクトリに`font.ttf`という名前で設置してください。

View file

View file

@ -81,7 +81,12 @@ export default class 藍 {
this.account = account;
this.modules = modules;
const file = process.env.NODE_ENV === 'test' ? 'data/test.memory.json' : 'data/memory.json';
let memoryPath = './';
if (config.memoryPath)
{
memoryPath = config.memoryPath;
}
const file = process.env.NODE_ENV === 'test' ? `${memoryPath}/test.memory.json` : `${memoryPath}/memory.json`;
this.log(`Lodaing the memory from ${file}...`);

View file

@ -11,6 +11,7 @@ type Config = {
serverMonitoring: boolean;
mecab?: string;
mecabDic?: string;
memoryPath?: string;
};
const config = require('../config.json');