@yoppinews にて使われている関連ツイート検出 bot エンジン
- 設定ファイルに指定された Twitter リストを毎分巡回し、以下のような条件にマッチするツイートをリツイートします
- 設定ファイルにて指定したキーワードを含むツイート
- 設定ファイルにて指定したキーワードを含むウェブページの URL 付きのツイート
- 設定ファイルにて指定した画像と類似する画像付きのツイート
- リツイートの条件をリスト単位で細かく制御可能で、競合する条件に対しては否定条件が優先されます
- 常にリツイートする
- リプライは検知対象から外す
- リツイートは検知対象から外す
- 引用リツイートの引用先テキストは検知対象から外す
- 画像の検出は行わない
- URL の検出は行わない
- 開発・利用はどなたでも可能です
- ライセンスは MIT です
- 機能追加・不具合修正に際しては Issue の起票からはじめていただけると助かります
git clone
cd yoppinews-bot
cp .env.template .env.{dev|prod}
デプロイおよび bot 稼働に必要な情報を設定ファイルに記載する
vi .env.{dev|prod}
cp config.template.yaml config.{dev|prod}.yaml
vi config.{dev|prod}.yaml
./scripts/update-config
-f
オプションは pip モジュールや関連するモジュールの解決を行う際に使います
./scripts/deploy -f [dev|prod]
pip install -r requirements.txt
python -m pytest tests/ -v
./scripts/envjson-gen
docker-compose up -d
awslocal s3api create-bucket --bucket news-bot
awslocal s3 cp ./config.dev.yaml s3://news-bot/config.json
awslocal dynamodb create-table --table-name CollectTweets --cli-input-json file://ddb_table.json
sam build
sam local invoke CollectTweetsFunction \
--no-event --env-vars ./env.dev.json \
--docker-network `docker network ls | grep yoppinews-bot | awk '{print $1}'`
./scripts/deploy [dev|prod]