Skip to content

Repository files navigation

SCP-JP Scripts

SCP-JP / SCP-JP-Sandbox3 向けの自動ページ管理スクリプト群

処理対象

1. new_page/tagging.py

タスク1: 剪定対象合作へのタグ付与

項目内容
サイトscp-jp
カテゴリanomalous-jp, extranormal-events-jp, video-log-of-scp-1779-jp, poem, log-of-unexplained-locations-jp, scp-flavor
条件jp または 剪定対象-子 タグがないページ
追加タグjp, 剪定対象-子

タスク2: SB3ポータルページへのinitial_Xタグ付与

項目内容
サイトscp-jp-sandbox3
カテゴリportal
条件initial_* タグがないページ、非使用ユーザー タグなし
追加タグinitial_X (Xは作成者unix_nameの頭1文字、a-z/0-9以外はnull、作成者不明は非使用ユーザー)

2. collab_deletion/notice.py

タスク: 低評価剪定対象合作への削除通知

項目内容
サイトscp-jp
カテゴリanomalous-jp, extranormal-events-jp, video-log-of-scp-1779-jp, poem, log-of-unexplained-locations-jp, scp-flavor
条件rating <= -3 かつ 合作記事剪定通知 タグなし
追加タグ合作記事剪定通知

3. collab_deletion/exec.py

タスク: 剪定通知済みページの処理

項目内容
サイトscp-jp
対象合作記事剪定通知 タグ付きページ
rating <= -3タグ全削除 → deleted:<category>:<name>-<random6> にリネーム
rating >= -2合作記事剪定通知 タグのみ削除(回復)

GitHub Actions

スクリプトはGitHub Actionsで自動実行されます。

ワークフロースケジュール
tagging.yml毎日 04:00 JST
collab-notice.yml毎月1日 09:00 JST
collab-exec.yml毎月4日 09:00 JST

必要なSecrets

リポジトリのSettings → Secrets and variables → Actionsで設定:

  • WIKIDOT_USERNAME
  • WIKIDOT_PASSWORD
  • DISCORD_WEBHOOK_URL

ローカル実行

セットアップ

# uvのインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
# 環境変数の設定
cp .env.example .env
# .envを編集

実行

# Dry-run(変更せずに対象を確認)
make dry-tag # タグ付与
make dry-notice # 剪定通知
make dry-delete # 剪定実行# 本番実行
make run-tag
make run-notice
make run-delete

通知

各スクリプト実行完了時にDiscord webhookで結果を通知します。

意味
正常終了
削除処理あり
エラー発生

技術仕様

  • Python 3.11+
  • wikidot.py v4.x
  • PEP 723 形式の uv script(単一ファイル実行)
  • GitHub Actions による定期実行

ライセンス

MIT

About

タグ追加等の自動化スクリプト群 GHAで動かします

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages