[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
https://github.com/Shunshun94/discord-bcdicebot/blob/59db4f60d6966c2d4edb81c69927e41185d7814e/validate.bat のように設定ファイルを評価するバッチファイルを書いてみた。
L1 のようにCHCP 65001
などとして文字コードを指定してあげないと出力が文字化けなどする。注意。
L7-L13 で Java のインストール有無を確認している。直前のコマンドの成否は L8 のように errorlevel が 0 か否かのチェックで分かる。
discord-bcdicebot は設定ファイル内で環境変数を設定している。この環境変数の値が妥当でなければ動かないので、環境変数の値を見たい。
L18 のようにすることで設定ファイル start.bat の中身のうち set
で始まる行だけ抽出して実行する、ということをしている。すなわち、ここで環境変数の設定を実行している。
L21-27 で Discord の token の妥当性を確認している。とはいっても、記載された token を用いて bot の情報取得を試み、401 エラーが返ってこないことを確認しているだけである。
現在 Windows 10 には curl コマンドが標準で入っているため、これを使う。--fail
オプションをつけて curl を実行することで curl の結果が 4XX や 5XX だった場合に errorlevel が0ではなくなる。あとは Java のときと同様に errorlevel を評価すれば良い。
L33-L47 にて BCDice-API サーバの URL が妥当であるか確認している。この手順はここまでの手順の組み合わせである。ただ、サーバに何か値を渡して評価しているわけではないので URL がおかしかった場合に返ってきた文字列も評価している。
JavaScript にコピペをやらせるのに navigator.clipboard.writeText(text);
を使う方法(MDN)はdocument.execCommand('copy');
を使う方法より遥かに楽で便利だ(後者の手順をやる方法)。しかし、ブラウザのユーザに許可されていなければこの機能は使えない。なら許可してもらえばいいじゃないか、と思っていたのだが……非 SSL 環境だとどうもこれは使えないらしい。非 SSL 環境にデプロイされる可能性のある JS を使う時は古い手順(document.execCommand('copy');
)を引き続き使うしかないようだ。
Google Chrome 用スクリーンレコーダーが便利だった。インストールは楽だった。ただ、録音はできないみたいなのでゲームの録画等には向かない?操作手順等の録画に便利かも。
DiscordでBCDice使えるようになる手順まとめました
— えいむ (@aimsssssot) July 25, 2021
「DiscordでDiceBot(BCDice)を使う方法 その1」https://t.co/nx1e1iMZzw
長くなったので導入と使い方編の2記事あります
次のバージョンアップで index.html から参照させる。そもそも導入手順をばんばか追記していったら読みにくくなっているので整理しないとなぁ。
Discord や Slack に画像として表を貼れたらどうか?と言っていたが、実際に作ってみた。
https://github.com/Shunshun94/TableGenerator
表を画像として出力できるほか、AA や HTMLとして出力したり、再編集するための URL を出したりする機能を用意した。Discord だけでセッションする際にどこかで一度使って使い心地を確認したい所。
ただ、Image::Magick の使い方があまり良くわからないのでどこかでちゃんとまとめたい。