DUICUO

Bilibiliの強力なオープンソーススクリプト!タスクをワンクリックで自動完了...

アニメと漫画のコミュニティとして始まり、現在では一般的なエンターテイメントと動画共有のプラットフォームとして発展してきたBilibiliは、ドラマシリーズからチュートリアルまで、幅広いコンテンツを提供しています。そのため、Bilibiliは役立つプログラミングチュートリアルが豊富に用意されていることから、プログラマーにも人気があります。

[[359840]]

しかし、ビリビリは他のウェブサイトとは異なり、独自のレベルシステムを採用しています。レベルに応じて権限が異なり、レベルが上がるほど権限も増えます。レベルアップの方法も非常に簡単で、タスクをこなすだけです。しかし、一部のタスクはあまりにも退屈で機械的であり、多くのユーザーはそれらに時間を費やすことをためらっています。

今日は、ビリビリ(Bilibili.com)の自動タスクツール「BilibiliTask」を皆さんにご紹介します。このツールは、コインの寄付、投稿へのいいね、ライブ配信中のチェックイン、シルバーコインのコインへの自動変換、期限切れ間近のギフトの自動送信、コミックアプリのチェックイン、プレミアム会員向けのBコインクーポンの収集など、毎日のタスクを自動でこなしてくれます。また、毎日65経験値を獲得できるので、Lv6へのレベルアップを加速させてくれます。

さらに、GitHub Actionsと統合することで、毎日オンラインで自動実行できます。デプロイ後は、アシスタントが事前に割り当てられたタスクをバックグラウンドでサイレントに完了します。コミックブックのチェックインやライブストリームのチェックインといった、その他の小さな機能も備えています。

BiliBiliToolの使い方

BiliBiliTool の自動タスク実装の原理は、Bilibili が提供する一連のオープン インターフェイスを呼び出すことです。

例えば、動画を視聴するというタスクを完了するには、Bilibiliのアップロード動画視聴進捗APIを呼び出すだけで済みます。APIは「https://api.bilibili.com/x/click-interface/web/heartbeat」で、入力パラメータは動画ID、現在の視聴時間、認証に使用するCookieです。

BiliBiliTool は、このような一連のインターフェースを収集し、毎日の自動プログラムを通じてそれらを順番に呼び出して、その機能を実現します。

1.1. ステップ1: 独自のCookieを取得する

ブラウザを開いてbilibiliのウェブサイトにログインします

F12 キーを押して「開発者ツール」を開き、アプリケーション -> ストレージ -> Cookie をクリックします。

DEDEUSERID、SESSDATA、bili_jct の 3 つの項目を見つけてコピーし、メモ帳に保存します。後で必要になります。

1.2. 2 番目のステップ: BiliBiliTool を実行する

BiliBiliTool を実行するには 2 つの方法があります。1 つは Github Actions を通じて毎日自動的にオンラインで実行する方法、もう 1 つはローカルで実行またはデバッグする方法です。

GitHubを使い慣れている方には、方法1のGitHub Actionsの使用をお勧めします。これは、手動操作なしで毎日オンラインで自動実行できるため、一度限りのソリューションとなります。GitHubアカウントをお持ちでない方、またはすぐに試してみたい方は、シンプルで高速なReleaseパッケージの実行を選択できます。

ここでは、Github Actions を使用する最初の方法を簡単に紹介します。

まず、このプロジェクトを自分のリポジトリにフォークします。

フォークしたリポジトリに移動し、「設定」→「シークレット」→「新しいシークレット」をクリックし、以下の3つのシークレットを追加します。これらは、アプリケーションの起動時にコマンドライン引数として渡されます。

アクションを有効にして毎日の自動実行をトリガーする

Github Actionsはデフォルトで無効になっています。すべての設定が完了したら、Actionsを手動で有効にしてワークフローを一度実行し、正しく動作することを確認してください。手順は以下の画像をご覧ください。

プロセスが完了したら、ランタイム ログを表示できます。

ワークフローの実行戦略は、毎晩午後 11 時 5 分に 1 回自動的に実行され、メイン ブランチにプッシュ操作がある場合にも 1 回自動的に実行されます。

毎日の実行時間を変更することをお勧めします。デフォルトの時間は使用しないでください。また、毎時00分に設定しないことをお勧めします。ピーク時間を避けることで、Gサイトの同じIPアドレスがBilibiliインターフェースに同時にリクエストを送信し、IPがブロックされてタスクが失敗するのを防ぐことができます。

サーバーWeChatプッシュが設定されている場合、実行が成功した後、WeChatはプッシュメッセージを受信します。

かなり良さそうですよね?現在、BiliBiliTool は GitHub で 2.1K のスターと 3.3K のブランチを獲得しています (GitHub アドレス: https://github.com/RayWangQvQ/BiliBiliTool)。