Reply Bot
予め呼び掛けと返答の組を設定しておくと、メンション付きでいずれかの呼び掛けが投稿されたときに対応する文で返信を返すActivityPub実装です。
C3クリエイタソン Snowカップにて作成を開始した作品です。
Requirements
ビルドにはGoが必要です。
想定されるGoのバージョンはgo.modを参照してください。
Usage
以下のいずれの場合も、別途リバースプロキシなどを適切に設定することを推奨します。
Non-Docker
- リポジトリ全体をコピーし、リポジトリルートに移動します。
git clone https://github.com/Bokume2/reply_bot.git
cd reply_bot
- .envに各設定値を記述します。
cp .env.sample .env
vim .env # edit .env
- reply_dialogues.yamlに、Botが行う掛け合いを記述します。
vim reply_dialogues.yaml
- Goをインストールします。
- 初回起動前に初期データを挿入します。
go run scripts/seeds.go
- サーバーを起動します。ポート3000でlistenを開始します。
go run cmd/main.go
Docker
- リポジトリ全体をコピーし、リポジトリルートに移動します。
git clone https://github.com/Bokume2/reply_bot.git
cd reply_bot
- .envに各設定値を記述します。
cp .env.sample .env
vim .env # edit .env
- reply_dialogues.yamlに、Botが行う掛け合いを記述します。
vim reply_dialogues.yaml
- Dockerをインストールします。
- コンテナをビルドします。
docker compose build
- 初回起動前に初期データを挿入します。
docker compose run --rm app /bin/seeds
- サーバーを起動します。ポート3000でlistenを開始します。
docker compose up -d
Development
Visual Studio CodeのDev Container拡張機能に対応しています。VSCodeを開発コンテナで起動後、各種設定ファイルを記述してから開発コンテナのターミナルでairを実行するとホットリロード付きの開発サーバーが起動します。
あるいは、.devcontiner/compose.yamlを使用して直接Docker Composeで起動することもできます。この場合、コンテナの起動と同時に自動でairが実行されます。
Samples
samplesディレクトリ内のファイルはreply_dialogues.yamlの設定例です。
設定時の参考になれば幸いです。
License
ファイル内に明確に例外表示されたものを除いて、ソースコードはUnlicenseライセンスで配布されています。
詳しくはライセンス表示またはhttps://unlicense.orgを参照して下さい。
不具合や機能提案などのご連絡はTwitter(現X)やその他までお気軽にお声がけください。