ほぼ自分専用のBotです
音楽の再生、ダイスロールなどの機能を備えています
導入URL: なし
npm i
を実行DISCORD_TOKEN
にトークンを入れるnpm run start
システムチャンネルに通話に招待するメッセージを送る
<コマンド>
<[ゲームシステム]>
[<メッセージタイプ>]
<コマンド>
で入力したダイスコマンドを実行する
<コマンド>
<[ゲームシステム]>
<コマンド>
で指定したダイスコマンドをクイックダイスに登録する クイックダイスはメッセージでqd
と打つと実行できる 定時間後に登録解除される
<ゲームシステム>
[<メッセージタイプ>]
指定したゲームシステムのヘルプを表示する
ダイステーブル表を実行する
<ダイスの個数(x)>
<ダイスの面数(y)>
xDyの形式でダイスを振る 巨大な数に対応しているがx×yが9007199254740991より大きいときに失敗することがある
キャラシートを設定する
/dice chara
またはチャットでcp 技能名
でダイスが振れる ココフォリア駒出力のものを貼り付けてください
/dice setchara
で設定したキャラのチャットパレットを開く
直近20件の地震一覧を表示する
<ユーザー>
指定したユーザーのアイコンを表示する
pingなどの情報を表示する
<YoutubeURL>
<ループOnOff>
[<メッセージタイプ>]
<YoutubeURL>
の動画をボイスチャンネルで再生する どこかしらのボイスチャンネルに参加しないと再生できない
<YoutubeプレイリストURL>
[<メッセージタイプ>]
<YoutubeプレイリストURL>
のプレイリストをボイスチャンネルで順番に再生する どこかしらのボイスチャンネルに参加しないと再生できない
<タイトル>
<タイプ>
<選択股>
投票など用のメッセージを送信する 選択肢は
選択肢1&選択肢2&選択肢3
のように&
(半角)で区切る
おみくじを引く 大吉、吉、中吉、小吉、末吉、凶、大凶がある
[<通話ログを送信するチャンネル>]
そのギルドでの通話ログを送信するチャンネルを指定する チャンネル指定を空にすると解除する
[<地震情報を送信するチャンネル>]
そのギルドでの地震情報を送信するチャンネルを指定する チャンネル指定を空にすると解除する
メッセージをzalgo化したものを表示する アルファベットがものすごいことになる
メッセージをコードブロックで表示する メッセージの原文を表示できる メッセージ内にコードブロックが含まれているとすこしバグる
通常メッセージでダイスコマンドを送るか/dice roll
でダイスロールできます
環境変数でDICE_GAS_URL
を設定することで特定のGoogle Apps Scriptに送信ができます(100面ダイス、通常メッセージのみ)
↓スプレッドシートにユーザー名と1d100の出目を書き込む例
function doPost(e) {
const data = JSON.parse(e.postData.contents)
const username = data.username
const rands = data.rands
//usernameがstring以外でrandsがarray以外だったら処理しない
if (!(typeof username === 'string') || !Array.isArray(rands)) {
return
}
const sheet = SpreadsheetApp.openById("スプレッドシートIDをここに入力")
rands.forEach(rand => {
sheet.appendRow([username, rand, Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss')])
})
}
/channelregister calllogchannel [<通話ログを送信するチャンネル>]
で設定可能
参加メッセージ: @ユーザーメンション(@ユーザーID) が#チャンネルメンション に参加しました
退出メッセージ: @ユーザーメンション(@ユーザーID) が#チャンネルメンション から切断しました
移動メッセージ: @ユーザーメンション(@ユーザーID) が#チャンネルメンション1 から #チャンネルメンション2 に移動しました
/channelregister eewnoticechannel [<地震情報を送信するチャンネル>]
で設定可能