某PCショップ店員の覚書

勤務中に作成したプログラムやスクリプトのまとめ

node.jsでDiscordのbotを作りました

node.jsでDiscordのbotを作りました。

botの機能としては
・ユーザーがチャンネル内で「/buttons」と発言したらボタンを表示
・ボタンが押下されたらそのユーザーと管理者のみが見れるプライベートチャンネルを作成
・プライベートチャンネル内からユーザーにメンションを送り、プライベートチャンネルを削除するためのボタンを配置
・プライベートチャンネル内で「/modal」と発言したらモーダルウィンドウで入力フォームを作成
・フォームに入力された値を受け取りGoogle スプレッドシートに転写
です。

Githubリポジトリ
github.com

botを導入するにあたり、config.jsonが必要です。

{
  "application": "botのアプリケーションID",
  "guildId": "botが反応するチャンネルのID",
  "token": "botのトークン",
  "deploy": "GASのデプロイID",
  "web_application": "Webアプリケーションとしてデプロイしたヤツのアドレス"
}

実装に苦労した所としては、プライベートチャンネルの作成とGoogle スプレッドシートへの転写です。
pythonで解説している記事があったのですが、それをnode.jsで実装する為にjavascriptへ変換する必要がありました。
pythonであれば多少触ったことはあるものの、javascriptはほぼ触ったことのないレベルだったのでChatGPTと対話しながらコーディングしていきました。

そして現状だと入力フォームに入力したデータを修正したい場合の処理が実装されていないので、手すき時間を見つけてゆっくり実装していければなと思います。

以上、特に解説もなく単純に「作ったよ」というだけの記事でした。