Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save PTOM76/c618a7ca97c7da3510970f7d0764a765 to your computer and use it in GitHub Desktop.
Save PTOM76/c618a7ca97c7da3510970f7d0764a765 to your computer and use it in GitHub Desktop.
PukiBot Pyを使ってPukiWikiでSandBoxを自動で初期化するボットをつくってみる

PukiBot Pyを使ってPukiWikiでSandBoxを自動で初期化するボットをつくってみる

動作環境がWindows前提として書いています。
その他OSの方は参考程度にお願いします。

インストール

以下のURLからbot.inc.phpを書いてる手順通りにPukiWikiへ導入し、PukiBot Pyをダウンロードする。

セットアップ

    1. Python 3を導入する
    1. require.batを起動する (Linux等の場合は拡張子をbatからshに変更してpauseの行を消せば動く?)
    1. bot.inc.php内のPLUGIN_BOT_ALLOW_TOKEN_LISTでバレないようなトークンを設定する。
    1. PLUGIN_BOT_PERMISSIONSで"つくったトークン" => BOT_PERMISSION_PAGE_EDIT,のようにボットに編集権限を付与する。
    1. (推奨) PLUGIN_BOT_ALLOW_TOKEN_LISTでMDhEOTQ2MjE4NjJDRjAwRjdGNzhCNDlEQTgxN0RBMzkを削除する

コーディング (サンプル)

一定時間にSandBoxページを初期化するのでスケジュールライブラリを入れましょう pip install schedule

  • sandbox_bot.py
from lib import pukibot
import datetime
import time
import schedule

URL = "https://example.wiki/"
bot = pukibot.PukiBot(URL, '0123456789abcdef')

def job():
  print(bot.savePage("SandBox", "[省略]"))

schedule.every().day.at("00:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(60)

URLのところは自分のWebサイトにしてください。 0123456789abcdefのところはbot.inc.phpで定義しているトークンにしてください。(もちろんバレないようなbot.inc.phpの方でトークンに設定してくださいね)

  • sandbox_bot.bat
py example.py
pause

これで24時になるとページが定期的に更新されるボットがつくれました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment