Discord用ダイスbot作る
概要
Discord用のダイスbotを作る
must
- 『1d100』など『ndm』が自動で返ってくる
want
- 『ndm + ndm』や『ndm + a』が返ってくる
備考
- 既存のDiscord用ダイスbotはあるのだが最近調子が悪いのか動いてくれないので自前で作って自前で管理してみることにする
- 自前で作って自前でメンテしてオレオレ拡張したい
- 身内はキャラシをスプシ管理してるので、スプシからステ読み込んでアイデアロールとか/r ideaとかで転がしたら1d100 : 20 < 70 : 成功とかで自動で成功失敗判定できるようなものを作りたい
jsとpythonどっちの方法も気になるけどGAS使ってみたいからGASの方にするか
文字列操作するようになった時にpythonにしとけばよかったあ;;って言いそうだけど
見切れて泣いてる
ゆるふわでぃすくりぷしょん
脱ぼっち鯖
publicじゃないbotでも管理者にURL渡せば招待してもらうことができるのね
TRPGやってる鯖は友人管理だったからそこらへんどうしよかなって思ったけどURL渡すだけなら楽でいいな
作業用BGM
アカウント名がthetalemonなのでZennのアイコンがtになるんだけどZennアイコンフォントのtめちゃくちゃTwitterのtににてて今更気になったからいつものあざらしに変化。
ついでにgithubとTwitterアカウントも入力したけど、特に連携じゃないから誤字りそうで怖いな〜〜と思ったけど無駄権限与えない付与しないという意味ではこの方法が正しいのかも
glitchのprivateボタンないぞって思ったら2020/12くらいにprivateは有料のみになったのか…どうするかな
さすがにトークン使うようなプログラム公開したらいかんし
LINEBotはどうやってたんだと思ったらLINEBotはwebhookのURLを使ってGASのスクリプトをキックできるとかになってるっぽい?同じことをdiscordでやる方法ないかな
わからん!!!のでpythonでやる方法で切り替えていこう
@わたし
ローカルにTILが3つあったりcommitしてないのがある状況をいい加減どうにかしてください
というかseal-diceはseal-diceだから別リポジトリにしよ
いつもめんどくさくてTILにいれちゃうけどいい加減TILもきちゃないし、なんかもっと違う形にしたいな
これはもしかして噂のgithub二要素認証に追加するとpushできなくなるやつ!!!!
mnp(まいにゅーりぽじとり)
あざらしは さいころを おぼえた!
あとは文字列パースしてころころする処理かいてくだけだぞ〜〜
正規表現苦手すぎて40回くらい試すのが目に見えてるのでこんな感じでごりごり試していく
ダイスが2以上の時は足し算の過程を表示してくれてダイスが1個の時は足し算の過程を表示しないっていう地味なこだわり
この画像のためにbashの名前表示を変更するっていう設定をしてお送りしています
CatalinaのはずなのにCatalina以前の状態になってたんだけどなんでだろうね
マスト達成したし一旦寝ようかな
ndm認識できてるし、ndm + ndmもsplitして1個ずつndmにいれてあげればいいだけだから楽だろう、nだけだったら普通に数字として結果に足すとかしておけばいいかな
今の返却方法だと2d6 + 2d6
した時に
2 + 3 + 1 + 5 = 11
みたいになっちゃうなあと思ったけど、まあ別にいいか…どう見ても前から順番にダイス足していくよね
1d3 + 1
は2 + 1 = 3
で、1d3 + 1
でも1d3+1
でもどっちでもOKで動くようにしよう
/dice 1d100
の/dice
は必須で
/dice
ってなんかのbotとかぶりそうだから/sd
とかにしようかな…sdの方がかぶりそうかな
既存ダイスbot/dice
じゃないのはすでに/dice
があるからなのかなあと思ってるんだけど、ビルトインにないなら使って大丈夫かな…あるいはいっそcraigみたいに別の接頭辞にするとかそういう方がいいのかしら
顔パック待機時間にコーディングはじめたらできてもた
2d6+2d6
と2d6 + 2d6
でふった時の返却、間違ってないんだけど差分が気持ち悪いからフォーマットしたいな
この後こっそり試してるけど2d6 + 2
は計算式の出力に入力そのまま使ったら無駄な空白できちゃったから最初に空白抜くのが良さそう
式は演算子の前後は空白派なので、↑の差分の気持ち悪いフォーマットは演算子前後は空白(2d6 + 2d6
に整形)にしよう。
フォーマットってどうやってかくのが正解なんだろ、
このくらいの規模なら1回全部抜いて+
を+
に置き換えでいいと思うんだけど、
エディタのフォーマッタなんかは正規表現で+
の前後に空白がない場合に加えるみたいになってんのかな
discord.pyの公式自体の充実度は微妙だけど(英語でみるともっと充実してるのかな)、
サンプルがいっぱいあるからこれ見ればやりたいことはだいたいできそうな感じする
そういえば誰のdiceに関しての結果なのかわかんないと困っちゃうよねと思ってリプライいれたら元使ってたダイスぼっとより黄色い感じになっちゃったけどまあいいだろう(っていうかdiscordにこんなリプライ機能あったんだ
ちなみに最後の最後で地味にフォーマットもしてあることが試されてるぞいえーい
herokuにデプロイまでやろうかなと思ったけど一旦試運転はローカルでいいかな、デプロイしてあるよりもすぐにfixして再起動できていいだろうし
何かログ仕込んでおくべきかしらと思ったけどまあローカルで動いてるならエラーったらなんかログでるだろう
pushしたので今回の開発は終わり!
一旦身内卓で試運転して、良い感じだったらHerokuデプロイする
Herokuで寝てる時起きるまで何分かかるかちょっと気になるからはやめにデプロイするかも。も。