ぴゅっぴゅカウンター はぴゅっぴゅ回数をカウントして毎日真夜中にトゥートします。
- 日々のぴゅっぴゅ回数をデータベースに記録
- 毎日真夜中にカウンターとデータベースを更新
- 「ぴゅっ♡」を含むトゥートでぴゅっぴゅカウンターを更新
- だいたい以下のようなトゥートで診断メーカーの結果をリプライ
- 「ぴゅっぴゅしていい?」
- 「おふとん入っていい?」
- 「ちんぽに勝ちたい」
- 「ちんぽチャレンジ」
- 「おちんぽ挿入チャレンジ」
- 「おちんちん握って」
- 「ちんぽ揃えゲーム」
- 「○○のAV」
- 「法律ギリギリチャレンジ」
- 「ブルーアーカイブはエッチ」
- 「through ガチャ」
- 「doublet ガチャ」
Grafana または REST API へのリクエストの振り分けを行います。
Mastodon から WebSocket でトゥートを取得して MQ へ送信します。
MQ から取得したトゥートに対し、Mastodon でのリプライ送信や DB の更新などの処理を行います。
また、REST API を実装しています。
データベースの作成とテーブルの設定を行います。
スキーマ: database/
環境変数に値の設定を行います。
# ログレベル(trace/debug/info/warn/error/fatal/panic)
LOG_LEVEL=
# Web TLS 証明書(指定した場合は Web サーバーは HTTPS)
TLS_CERT=/path/to/tls/cert
TLS_KEY=/path/to/tls/key
# DB ユーザー ID(数値)
USER_ID=
# Mastodon ユーザー ID(数値)
MASTODON_USER_ID=
# Mastodon ユーザー トークン
MASTODON_ACCESS_TOKEN=
# Mastodon サーバー URL
MASTODON_SERVER_URL=
# Mastodon ストリーム
# 設定値: https://docs.joinmastodon.org/methods/timelines/streaming/#websocket-a-idwebsocketa
MASTODON_STREAM=user
# データベース 接続情報
DB_HOST=
DB_DATABASE=
DB_USER=
DB_PASSWORD=
# データベース SSL モード(disable/require/verify-ca/verify-full)
DB_SSL_MODE=
DB_SSL_CERT=/path/to/sslcert
DB_SSL_KEY=/path/to/sslkey
DB_SSL_ROOT_CERT=/path/to/sslrootcert
# メッセージキュー 接続情報
MQ_HOST=
MQ_USERNAME=
MQ_PASSWORD=
MQ_SSL_CERT=/path/to/sslcert
MQ_SSL_KEY=/path/to/sslkey
MQ_SSL_ROOT_CERT=/path/to/sslrootcert
# 外部 API
EXT_MPYW_API_URL=https://mpyw.hinanawi.net/api
BuildKit(または Docker の対応するバージョン)あるいは Buildah のインストールが必要です。
docker build
を利用する場合: Docker 18.09 以上docker buildx
を利用する場合: Docker 19.03 以上
nginx + RabbitMQ + PostgreSQL + Go App で構成されています。
$ docker buildx bake
$ docker compose up -d --build
以下のコンポーネントは Prometheus のエンドポイントを実装しています。
GET /metrics
GET /metrics