jkingsman の Nobody.live に対する WebSocket (flask-socketio) の修正により、ユーザーが視聴者ゼロの Twitch ストリーマーに対して「レイド」 (この場合、ユーザー全員が集合的に同じストリーム ストリームに同調すること) を実行できるようになります。
ワーカー スクリプト ( scanner.py
) は、Twitch API のストリーム リストをループし、検索条件に一致するすべてのストリーマー (デフォルトでは視聴者が 0 人) を挿入するまで回転し、その後再び開始されます。これらのストリーマーは、誰かが視聴することを想定して有効期限付きのキーとして挿入され、視聴者がゼロになることはないため、あまりにも長く配信されるべきではありません。後続のパスでもストリームの視聴者がゼロの場合、Redis への挿入により古い有効期限が上書きされ、視聴者はしばらく存続します。
設定する環境変数:
CLIENT_ID
: Twitch アプリケーションのクライアント ID (https://dev.twitch.tv/console にあります)CLIENT_SECRET
: Twitch アプリケーションのクライアント シークレット (https://dev.twitch.tv/console にあります)一方、 app.py
の Flask アプリは、インデックスとエンドポイントを提供して、ランダムなストリーマーを取得します。
pip install -r requirements.txt
CLIENT_ID=xxxxxx CLIENT_SECRET=xxxxxx scanner.py
)。これは継続的に実行する必要があります。flask run
)これは明らかに本番環境に対応していません。すべてのサービスがデーモンとして実行されていること (一部の構成ファイルはetc
に含まれています)、および flask アプリが安全に実行されていること (例: gunicorn/nginx/pick your Poison の背後) を確認する必要があります ( setting up deployment
参照してください)。
setup.txt
)これは完全な展開のプロセスであり、ローカル サーバーのセットアップではありません。ローカルサーバーのセットアップ手順については、上記を参照してください。
cd /srv # wherever we want the app to be
git clone https://github.com/tybens/lonelyraids.com.git
cd lonelyraids.com
sudo apt-get update
sudo apt install python3-pip python3-dev python3-venv nginx
python3 -m venv venv
source venv/bin/activate
sudo pip3 install -r requirements.txt
# static files
sudo mkdir /var/www/static
sudo mv -v static/ * /var/www/static/
sudo chown 755 /var/www/static
# nginx config
sudo mv etc/lr-nginx /etc/nginx/sites-available/lr-nginx
sudo ln -s /etc/nginx/sites-available/lr-nginx /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo ufw allow ' Nginx Full ' # not sure if this is necessary (the article said it was)
# redis setup
sudo wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
sudo make install
# supervisor setup
mkdir /var/log/streams
sudo mv etc/supervisor_services.conf /etc/supervisord.conf
sudo supervisord -c /etc/supervisord.conf # starts supervisord services
# certbot setup (for https:// ssl verification)
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
deactivate # deactivate venv...
requirements.in
の直接の依存関係を更新します。更新する場合は、 pip-compile
使用して、 requirements.txt
にコンパイルします。