[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
DX3 のキャラクターシートを JavaScript から扱うためのユーティリティを書いた。動作サンプル
DX3 のキャラクターシートを扱うウェブサービスとしてはキャラクター保管所とキャラクターシート倉庫が有名だと私は勝手に思っているが、このユーティリティはどちらにも対応し、どちらを入力しても同じフォーマットで結果が出力されるようにしている。
動作サンプル はキャラクターシートの URL を入力することで出力結果を得られるようになっている。
どうやればいいのか少し試行錯誤が必要だったのでメモ的に
const AWS = require('aws-sdk'); /******* * MY_ACCESS_KEY と MY_SECRET_ACCESS_KEY は * https://aws.amazon.com/jp/developers/access-keys/ の手順を参考に取得・代入 * * MY_ACCOUNT_NAME は AWS アカウントの名前。 * 10桁~の数字になる * * MY_IAM_NAME は利用する IAM の名前 * * MY_MFA_TOKEN は MFA のワンタイムトークン。 * https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html を参考に設定する */ const sts = new AWS.STS({ accessKeyId: MY_ACCESS_KEY, secretAccessKey: MY_SECRET_ACCESS_KEY }); sts.getSessionToken({ SerialNumber: `arn:aws:iam::${MY_ACCOUNT_NAME}:mfa/${MY_IAM_NAME}`, TokenCode: MY_MFA_TOKEN, DurationSeconds: 1800, // 30mins }, (err, data) => { if(err) { console.error(err); } else { (new AWS.EC2({ region: 'ap-northeast-1', credentials: sts.credentialsFrom(data) // describeSecurityGroups を実行する理由はとくにはない。 // 私がよく使うコマンドだった、というだけ })).describeSecurityGroups({}, (err, sg) => { if(err) { console.log('ERROR'); console.log(err); } else { console.log(JSON.stringify(sg, null, '\t')); } }); } } );
ちょっと前にブラウザからでも Discord は叩けるという話をした。なので、前に作ったライブラリと同じ感覚で使える Discord のクライアントを作っていた。<\p>
<!-- 外部ライブラリの discord.io を読み込む必要がある --> <script src="https://shunshun94.github.io/shared/external/discord.io/index.js"></script> <script src="https://shunshun94.github.io/shared/other/io/github/shunshun94/trpg/clientSpec.js"></script> <script src="https://shunshun94.github.io/shared/other/io/github/shunshun94/trpg/discord/client.js"></script> <script src="discordClientUse.js"></script>
const client = new io.github.shunshun94.trpg.discord.Server(DISCORD_BOT_USER_TOKEN); // チャンネルリストを取得 client.getRoomList().done(console.log).fail(console.error); // getRoomList() で得られる結果の先頭 (0番目) の部屋に接続するクライアントを作る const room = client.getRoom(0); // 前に紹介したどどんとふクライアントの getChat とほぼ同じ形式の出力 room.getChat().done(console.log).fail(console.error); // チャットを送信する room.sendChat({ name: 'ひよこ', message: 'ひよこだよ' });
「一応 Discord でも使えますよ」と作ったアプリを出すのに使えるかも?