PCで「いつ」「どのくらい」「どのゲーム」をプレイしたのかをDiscordのチャンネルとGoogle スプレッドシートに記録するDiscord Botです(24時間オンライン!)
コードはNode.jsで記述してあり、Glitch*上で動作を確認しています
*Glitch: Node.jsを使ったウェブアプリを作成・公開することができるサービス
- Discordのユーザー設定 > ゲームアクティビティから
起動しているゲームをステータスに表示する
をONにする - Discord Botを動作させる(詳細は下記参照)
- 結果: PCゲームのプレイ内容が記録される!
このBotの仕様と作成者の技術不足により、作成したBot自体の公開はしていません🙇♂️
そのため、サーバーに導入する場合は各自でBotをつくる必要があります
以下にBot準備についての簡単な説明、詳細に関しては下記リンクの記事に書いたので、これら等を参考に各種設定を行ってみてください
PCゲームのプレイ記録を出力するDiscord Botの導入#1 GlitchでBotを動かす
PCゲームのプレイ記録を出力するDiscord Botの導入#2 GlitchとGASの連携
PCゲームのプレイ記録を出力するDiscord Botの導入#3 出力ログのカスタマイズ
- Glitchアカウント(Node.js実行環境が他にある場合はなくてもいいが、あったほうがGASとの連携が簡単)
- Googleアカウント
- Discordアカウント
-
Discord Developer PortalにDiscordアカウントでログインし、Botを新規作成
-
作成後
SETTINGS
>Bot
をクリックし、PRESENCE INTENT
をONにする
-
Glitchで
New Project
>Import from Github
をクリックし、ポップアップ画面に下記URLをコピペ
https://github.com/esmieimse/Gaming-Logger-Bot -
Importが成功したら
.env
を開き、DISCORD_BOT_TOKEN, USER_ID, CHANNEL_IDを入力
このとき GAS_URL はまだ空欄でOKDISCORD_BOT_TOKEN
: 1)で作成したBotのページからSETTINGS
>Bot
の中にあるTOKEN
から入手できる文字列USER_ID
: 自分のDiscord User IDCHANNEL_ID
: プレイ記録を出力したいチャンネルのChannel ID
-
Googleドライブから
+新規
>その他
>Google Apps Script
を選択して新規プロジェクトを作成 -
右記リンク記事の手順3をやる => EOiさんのnote記事
(GlitchGAS Files
フォルダ内のbot-waker.gs
の中身はこの記事のコードと同内容です)
-
Googleドライブに戻り、
+新規
>Google スプレッドシート
で新規スプレッドシートを開く -
画面上のツールバーから
ツール
>スクリプト エディタ
でGASの新規プロジェクトを作成 -
表示されているスクリプトファイル
コード.js
にGlitchGAS Files
フォルダ内のspreadsheet.gs
の中身をコピペして保存- 上記の作業が終わったらGlitchの
GAS Files
は削除してOK
- 上記の作業が終わったらGlitchの
-
画面上のツールバーから
公開
>ウェブアプリケーションとして導入
、ポップアップ画面一番下のWho has access to the app:
だけAnyone, even anonymous
に変更して導入をクリック- [許可を承認] をクリックして次の画面でアカウントを選択、警告画面は 3) と同様に [詳細]、[安全ではないページに移動] をクリック
- 最後に[許可]ボタンをクリックすると、今作成したウェブアプリケーションのURLが生成されるのでこれをコピー
-
Glitchに戻って
.env
を開き、GAS_URL
の欄に↑でコピーしたURLを貼り付け
-
Steam等の適当なゲームを起動して、Discordの自分のステータスにゲーム名が表示されていることを確認する
- 表示されていなかったら上記の使い方 1. をやる
-
ゲームを閉じた後、以下の2点を確認する
- Discordの指定したチャンネルにメッセージが送信されているか
- スプレッドシートにゲーム名、プレイ時間、開始時刻、終了時刻が出力されているか
-
全部OKだったら完了です!お疲れさまでした👏
不明点、気づいたことなどありましたら、お手数ですが下記のいずれかにご連絡ください
- Twitter: @esmieimse
- Discord: esmie#9408