Slackを通じてAIアート生成するNovelAIを利用するためのBot
- 画像の生成: !img [半角英数字記号で構成されるプロンプト]
- 残りの生成可能回数を表示: !img-ct
- 使い方を表示: !img-help
NovelAIにアクセスしてID/PASSWOARD形式でアカウント作成。 画像生成を行うには、Tablet以上の課金プランに入会し、Anlasを得ている必要がある。
なおREST APIを利用したアクセスに関しては個人利用の範囲ではOKであると、NovelAIの開発者より利用規約を確認した上でサポートDiscordにて許可がある。
Bolt 入門ガイドに準拠。
- SLACK_BOT_TOKEN
- SLACK_APP_TOKEN
を取得しておく。
- chat:write
- files:write
- files:read
- message.channels
- message.groups
- message.im
- message.mpim
Docker Engine (バージョン3のdocker-composeに対応の必要あり)およびDocker Composeプラグインのインストール。(Docker version 20.10.22, build 3a2c30bで確認済み)
opt/.env
ファイルを実行フォルダ内に作成して、自分のクレデンシャル情報を記述
NAI_USERNAME=xxxxxxx@example.com
NAI_PASSWORD=password999999
SLACK_BOT_TOKEN=xoxb-999999999999999999999999
SLACK_APP_TOKEN=xapp-999999999999999999999999
opt/executable_count_setting.json
を作成して、
- date: 日付
- count: その日付時点の実行可能回数
- day_increment: 1日で増加する実行可能回数
を設定して上限実行回数を記述。
{
"date": "2022-12-07",
"count": 2000,
"day_increment": 20
}
あとは以下を実行してイメージをビルド&実行。
docker compose up -d --build
以上で起動。
docker compose down
で停止。なお、novelai-apiはアップデートがよくあるため、その時には、docker rmi [イメージID]
でDockerイメージを削除し、再度ビルドしなおすとよい。
MIT