-
Notifications
You must be signed in to change notification settings - Fork 0
@.各ファイルの役割
Geusen edited this page Feb 1, 2023
·
13 revisions
更新日: 23/01/29
Schedule_Bot
├─ schedule.py (時間割通知のプログラム)
├─ news
│ └─ news.py (月間予定通知のプログラム)
└─ .github
└─ workflows
├─ Schedule.yml (定期実行用ファイル)
└─ News.yml
name: GitHub_Actions(shedule)
on: # 以下の場合に実行
workflow_dispatch: # 手動実行(デバッグ用)
schedule: # 定期実行
- cron: '*/40 0-12,21-23 * * *' # 6時〜21時、40分ごとに動作
repository_dispatch: # 外部から実行(デバッグ用)
types: GitHub_Actions(gas) # GASから実行
env: # 環境変数から文字列(パスワードなど)を取得
ACCESS_TOKEN: ${{secrets.ACCESS_TOKEN}} # ACCESS_TOKEN (Twitter用)
ACCESS_TOKEN_SECRET: ${{secrets.ACCESS_TOKEN_SECRET}} # ACCESS_TOKEN_SECRET (Twitter用)
CONSUMER_KEY: ${{secrets.CONSUMER_KEY}} # CONSUMER_KEY (Twitter用)
CONSUMER_SECRET: ${{secrets.CONSUMER_SECRET}} # CONSUMER_SECRET (Twitter用)
GOOGLE_URL: ${{secrets.GOOGLE_URL}} # 時間割GoogleスプレッドシートのURL
LINE_NOTIFY: ${{secrets.LINE_NOTIFY}} # LINEグループのトークン
LINE_NOTIFY_27: ${{secrets.LINE_NOTIFY_27}} # 27組LINEグループのトークン
LINE_NOTIFY_13: ${{secrets.LINE_NOTIFY_13}} # 13組LINEグループのトークン
WEBHOOK: ${{secrets.WEBHOOK}} # DiscordのWebhookURL
IMGUR: ${{secrets.IMGUR}} # Imgurのトークン
JSON: ${{secrets.JSON}} # Googleスプレッドシートアクセス用JSON
SHEET_ID: ${{secrets.SHEET_ID}} # URL保存先のGoogleスプレッドシートのID
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} # GITHUBのトークン
RUN_NUMBER: ${{github.run_number}} # このワークフローの番号
RUN_ID: ${{github.run_id}} # このワークフローのID
concurrency: # 同時にworkflowが実行されたらキャンセル
group: ${{ github.workflow }}-${{ github.ref }}
jobs: # 実行内容
build:
runs-on: ubuntu-latest # Ubuntuで実行
timeout-minutes: 5 # 5分過ぎたら強制終了
steps:
- uses: actions/checkout@v3 # 実行準備
- uses: actions/setup-python@v4 # python準備
with:
python-version: '3.x' # バージョン3系
architecture: 'x64' # 64bit
- name: run python
id: results
run: |
echo "::group::pip install --upgrade pip" # グループ化(ログを見やすくする為)
python -m pip install --upgrade pip==22.3.1 # pipのインストール
pip install get-chrome-driver==1.3.10 # Chrome実行
pip install selenium==4.8.0 # 〃
pip install opencv-python==4.7.0.68 # 画像処理
pip install python-opencv-utils==0.0.4 # 〃
pip install tweepy==4.12.1 # Twitter投稿
pip install gspread==5.7.2 # Googleスプレッドシート読み書き
pip install oauth2client==4.1.3 # 〃
echo "::endgroup::"
python -B schedule.py # Python実行
- name: GitHub_Summary
run: | # 実行結果を出力
echo -e "- #### 時刻: ${{steps.results.outputs.TIME}}" >> $GITHUB_STEP_SUMMARY
echo -e "- #### ステータス: ${{steps.results.outputs.STATUS}}" >> $GITHUB_STEP_SUMMARY
echo -e "- #### 現在の時間割:\n${{steps.results.outputs.NOW}}" >> $GITHUB_STEP_SUMMARY
echo -e "- #### 過去の時間割:\n${{steps.results.outputs.BEFORE}}" >> $GITHUB_STEP_SUMMARY
- name: Keepalive Workflow # GitHubActons停止対策
uses: gautamkrishnar/keepalive-workflow@v1