discord-bcdicebot

概要

Discord で BCDice を使うための bot です。各サーバに対して、ユーザが導入して利用します。

DOWNLOAD

必要なもの

このアプリは Discord のチャットに参加するユーザのうち、1人の環境で動かす必要があります。動かす人には以下の準備が求められます

Java 8 ないしそれ以降の実行環境

Java 実行環境 のインストール方法は Javaをインストールするには をご覧ください。

BCDice-API サーバ

BCDice-API が動作しているサーバを用意してください。ローカルでも構いませんし、貸してくれる人から借りてもかまいません。

(推奨) Windows

現時点では簡易起動スクリプト (後述の start.bat) は Windows 向けの物しか用意していません。 start.bat の中身を読み解いていただければ Mac でも Linux でも動作は可能です。

使い方

ダイスボットを登録する

Discord に新規の Bot を作成します。サーバ1つにつき代表者1人がいれれば大丈夫です

  1. 開発者ページ にアクセスし、New APP をクリックします
  2. 最低限 APP NAME と APP ICON を入力し、 Create App をクリックします
  3. Create Bot User というボタンをクリックし、このダイスボット用のユーザを作成します
  4. Bot の Username の下に "Token:click to reveal" というのがあるのでクリックし、出てくるランダムな文字列をメモします
    この文字列は他の人に教えないこと
  5. 画面上部の APP DETAILS のところに書かれた Client ID の数字をメモします
  6. 次の URL にアクセスします
    https://discordapp.com/oauth2/authorize?client_id=[Client Id の数字]&scope=bot&permissions=0

アプリケーションを起動する

Bot を起動し、 Discord 上で BCDice を利用可能にします。サーバ1つにつき代表者1人がアプリを起動すれば大丈夫です

  1. start.bat をメモ帳で開きます
  2. set DISCORD_BOT_TOKEN= の末尾に先の 4. でメモした Token を貼り付けます
  3. set BCDICE_API_URL= の末尾に利用する BCDice-API サーバの URL を貼り付けます
  4. メモ帳を閉じ、 start.bat をダブルクリックします
  5. Discord の参加者一覧に Bot がオンラインの状態で存在すれば成功です
  6. 終了はキーボードの Ctrl + C を押してください

BCDice-API サーバとして大ちゃんさんが公開してくださっているものがあります。自分で BCDice-API サーバを構築するのが難しいようであればそこを借りるのも手でしょう。

詳しい話は bcdice-api | 大ちゃんのいろいろ雑記 をご確認ください。

コマンドを利用する

チャットに bcdice help と打てば使えるコマンドの一覧が出力されます

まずは利用するダイスボットにダイスボットを切り替えましょう。
bcdice set [利用するダイスボットの名前]
例えば bcdice set SwordWorld2.0

ダイスボットの切り替えが終わったらダイスを振るコマンドを打ってみましょう。振れます

連絡先

バグ報告など

Twitter アカウントは@Shunshun94。ないしはリポジトリに issue を追加してください。

寄付先

Amazon のウィッシュリスト

ライセンス

使用しているライブラリ

javacord
Discord との通信で使用。LGPLv3 でライセンスされています。
Logback Classic Module
ロガー。LGPLv2.1 でライセンスされています。
RESTEasy
HTTP クライアント。Aapche 2.0 でライセンスされています。

利用しているサービス

ゲーム設定型ダイスボット「ボーンズ&カーズ」
どどんとふを初めとする多くのオンセツールで採用されているダイスボット。略称は BCDice。修正BSDライセンスでライセンスされています。
BCDice-API
BCDice に HTTP による API を付与するラッパ。MIT ライセンスでライセンスされています。
Discord
ボイスチャットアプリ。パソコンからでも携帯からでも利用可能。

本アプリのライセンス

このアプリ (ソースコードなどを含む) は GPLv3 でライセンスします。
ソースコードはhttps://github.com/Shunshun94/discord-bcdicebotから入手可能です。

Q&A

質問・バグ報告はどこに

@Shunshun94 ないしは github の issues

どんな出力が出たのか、出力をコピペして頂けると調査が捗ります。

なんで Java なの。Ruby とか○○とかじゃないの

一般ユーザの PC に Ruby や○○の実行環境が導入されているとは思えなかった

じゃあ単体実行できるバイナリでいいじゃん

Mac ユーザやら Linux ユーザやらごとにバイナリを作るのが面倒だった。 Linux はともかく Mac ユーザはいる気がしたから

謝辞

お世話になった方々

BCDice を作成・公開してくださったFacelessさんと、 Ruby 移植をしてくださったたいたい竹流さん。 そもそも、BCDice が無ければこのアプリは着想すらありませんでした。 BCDice が多機能である点、2017年現在、国内オンラインセッションツールのデファクトスタンダードであるどどんとふが採用しているダイスボットであるため、 国内におけるダイスボットのデファクトスタンダードが BCDice となっていたことが実装の必要を感じたそもそもの理由でした。

BCDice-API を実装・公開してくださった酒田 シンジさん。 BCDice-API が無ければ本アプリの実装は気が遠くなるものだったに違いありません。

発表前の動作確認に付き合ってくださったかし*さんと離凛さん。 色々な想定漏れについて指摘していただき、公開前にアプリが大幅に改善されました。

関連アプリの紹介

Nanasu さんが作ってくださったBCDiscord for Browser のコマンドは本アプリの物を参考にしてくださいました。 ブラウザのみで動くため、大変に便利です。

更新履歴

v1.4(2017/10/07)
利用しているライブラリ起因の問題に対してライブラリをバージョンアップして対応。問題の指摘をくださったシーラ さん、ありがとうございます!
アプリ終了後に待機するように start.bat を変更。ログの収集が容易になった
v1.3(2017/07/13)
Channel 毎に異なるダイスボットを利用できるように変更。特に設定していない場合は general のものを利用
v1.2(2017/07/06)
BCDice-API v0.4.0 に対応。問題の指摘をくださった酒田 シンジさん、ありがとうございます!
v1.1.1(2017/06/30)
本ドキュメントの権利的な問題に対応
v1.1(2017/06/30)
いくらかの内部的な問題を修正。機能への変更はなし
v1.0 (2017/06/26)
公開