Open4
DenoでDiscord Bot
動機
- Discord Botはインフラが不安定だと使い勝手が悪くなる
- Discord BotをDeno Deployすれば快適な開発とデプロイが出来るのでは
先行研究
テンプレートになりそうなサンプルはある
しかしこれはDeno Deployでは使えない書き込み権限を使っていたりと、Deno Deploy前提で使うには難がある。やってること
こういう記事もあるがスラッシュコマンドではなさそうなので微妙にユースケースが合わず参考にするのを断念。
そこでこの記事を参考にDeno Deploy前提のミニマルなサンプルを作っている。
このページに載ってるサンプルコードの動作を確認できた。ただ、環境変数の取得部分が謎なので、Deno.env.get()
で書き直した。
このサンプルコードはDiscordenoの最新版を使っているのでこれをベースにした方が良さそう。
段々問題の全容が見えてきた
- discordenoのサンプル側の謎仕様
- Deno Deployの仕様
この2つが噛み合ってしまったせいで、サンプルがデプロイ出来ない問題が起こっているらしい。
考えられる解決策としては以下の2つがある
-
スクリプトの違ったロード方法を考える
サンプルが全てこの方法らしいのでかなり厳しそう -
他のデプロイ先を検討する
このスクラップのテーマから離れてしまうので一旦保留
という事で1つめの違ったロード方法を考えてみようと思う。
ちなみに後者を試した結果は普通にうまく行った。そりゃパーミッションの問題であってプログラムは悪くないので当然な気もするけど...