From e77d9c8060396bd7852a213dec6f8b690ce3e4ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=B5=E3=82=8B=E3=81=B5=E3=82=8B?= Date: Sat, 4 Dec 2021 16:41:13 +0900 Subject: [PATCH] =?UTF-8?q?memory.json=E3=81=AE=E4=BF=9D=E5=AD=98=E5=85=88?= =?UTF-8?q?=E3=82=92=E5=A4=89=E3=81=88=E3=82=89=E3=82=8C=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 5 ++++- README.md | 25 ++++++++++++++++++++++++- data/.keep | 0 src/ai.ts | 7 ++++++- src/config.ts | 1 + 5 files changed, 35 insertions(+), 3 deletions(-) delete mode 100644 data/.keep diff --git a/.dockerignore b/.dockerignore index 6504355..4968ac9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,10 +1,13 @@ config.json font.ttf -data/memory.json ai.* *.md +*.png Dockerfile docker-compose.yml +LICENSE node_modules/ +test/ +data/ .vscode/ diff --git a/README.md b/README.md index 32136f3..4c9dd46 100644 --- a/README.md +++ b/README.md @@ -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`という名前で設置してください。 diff --git a/data/.keep b/data/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/src/ai.ts b/src/ai.ts index ce70679..8cc54e6 100644 --- a/src/ai.ts +++ b/src/ai.ts @@ -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}...`); diff --git a/src/config.ts b/src/config.ts index 515bab4..3334e34 100644 --- a/src/config.ts +++ b/src/config.ts @@ -11,6 +11,7 @@ type Config = { serverMonitoring: boolean; mecab?: string; mecabDic?: string; + memoryPath?: string; }; const config = require('../config.json');