Discord コミュニティ 「おじさんゲーマーズ」

30歳以上でPCゲームを楽しもう!というDiscordコミュニティです。

Discord用のチーム分けBot「TeamShuffle」を公開します。

f:id:rustykaraf:20180726132726j:plain

 

【お知らせ】

[2019/07/14]

追加募集を終了しました。ありがとうございました。

[2019/06/09]

すみません、「導入方法」の「このページ」のリンクがちゃんと動作していなかったようです。修正しました。

 [2019/06/08]

限定で追加募集を行う事にしました。

現在27000ユーザーですが、30000ユーザーに達するまでの限定公開です。

(もし稼働が不安定になったら早期終了します。)

[2019/03/06]

無料でサーバーを利用できる限界に近づいてきているようですので公開を終了する事にしました。
たくさんの導入ありがとうございました。
(既に導入されている方は引き続き使用できます。)

[2019/03/02] おかげさまで1,000サーバーを超えました。多くのサーバーに導入していただきありがとうございます。

[2019/02/14] おかげさまで20,000ユーザーを超えました。多くの方に使っていただきありがとうございます。

[2018/12/23] おかげさまで10,000ユーザーを超えました。多くの方に使っていただきありがとうございます。

もともとはDiscordクラン「おじさんゲーマーズ」のためのBotとして作成していましたが、せっかくなので公開することにしました。

(PUBGのチーム分けとして作りましたが、他のゲームでも使えます!)

ここではTeamShuffleの導入方法と機能・使い方について説明します。

目次

変更履歴

2019/06/07 DOTA2のプレイヤー数表示機能を追加しました。

2019/04/09 内部のファイルを正式リリースに対応しました。(rewriteから正式へ)

2019/03/21 BOTがブロックされていてシークレットダイスが送れない場合の処理を追加しました。

 2019/03/15 ApexLegendsのスタッツを取得するコマンドを追加しました。

2019/03/05 クトゥルフの短期と長期の狂気にコマンドを追加しました。

2019/02/26 おみくじの運勢に重み付けするように変更しました。

2019/02/15 コマンド処理部を見直しました。

2019/02/12 投票機能に投票結果の一覧出力を追加しました。

2019/02/05 おみくじをちょっとだけ更新しました。

2019/02/03 ランク別のチーム分け機能を追加しました。

2019/02/01 投票機能を追加しました。

2019/01/31 ダイス機能に関する古い画像を現在のモノに更新しました。

2019/01/04 テキストメッセージ全削除の機能を変更しました。

2019/01/03 チーム分けがランダムにシャッフルされてなかった不具合を修正しました。(内部をrewrite版に変更した際に取得リストがランダムから固定順に変わった為)

 

導入方法

このページからご自身の管理するサーバーへ追加します。

f:id:rustykaraf:20180726132952j:plain

「サーバー選択」 → 「認証」で追加できます。
サーバーで『TeamShuffle』がオンラインになっていることを確認してください。

これでTeamShuffleの導入は完了です。

機能・使い方

TeamShuffleには以下の機能があります。

  • チーム数を指定してチーム分け
  • 1チームの人数を指定してチーム分け
  • ボイスチャンネルのメンバー一覧を作成
  • ダイスボット
  • 使えるコマンドの確認

それぞれについて説明します。

チーム分け 関連

チーム数を指定してチーム分け

例えば、7チーム作りたいなという時

  1. 任意のボイスチャンネルに自分が入ります
  2. 振り分けたいメンバーをボイスチャンネルに集めます
  3. 任意のテキストチャンネルで !team 7 と入力します

7チームが作成されます。

f:id:rustykaraf:20180805124650p:plain

Tips.ボイスチャンネルの人数と振り分け数が同じだと、順位決めとしても使用できます。

1チームの人数を指定してチーム分け

例えば、4人ずつのチームを複数作りたいなという時

  1. 任意のボイスチャンネルに自分が入ります
  2. 振り分けたいメンバーをボイスチャンネルに集めます
  3. 任意のテキストチャンネルで !men 4 と入力します

4人ずつのチームが複数作成されます。

f:id:rustykaraf:20180805124704p:plain

Tips.出来る限り均等にメンバーを振り分けようと処理します。
(例:ボイスチャンネルに8人いて6人ずつと指示した場合、6人:2人と偏らずに4人:4人と振り分けます)

 

ランク別でチーム数を指定してチーム分け

テスト不十分の為、バグがある可能性があります。

(2019/02/03 新規: 機能新規追加 )

例えば、ランク分けされた7チーム作りたいなという時

  1. 任意のテキストチャンネルで
     例:!team+ 4 "プラチナ" "ゴールド" "シルバー" "ブロンズ" と入力します
    (”ランク説明”の部分を省略する事もできます)
  2. 振り分けたいメンバーにアイコンを押してもらいます
  3. 全員がアイコンを押したら、✅を押してください。

ランクを考慮した4チームが作成されます。

f:id:rustykaraf:20190203223049p:plain

注意:一人がアイコンを何個も押せてしまいます(押した数だけ同一人物が増えます)

 

ランク別でチーム数を指定してチーム分け

テスト不十分の為、バグがある可能性があります。

(2019/02/03 新規: 機能新規追加 )

例えば、ランク分けされた4人ずつのチーム作りたいなという時

  1. 任意のテキストチャンネルで
     例:!men+ 4 "4000+" "3000+" "2000+" "1000+" と入力します
    (”ランク説明”の部分を省略する事もできます)
  2. 振り分けたいメンバーにアイコンを押してもらいます
  3. 全員がアイコンを押したら、✅を押してください。

ランクを考慮した4人ずつのチームが作成されます。

f:id:rustykaraf:20190203223937p:plain

注意:一人がアイコンを何個も押せてしまいます(押した数だけ同一人物が増えます)

 

 ボイスチャンネルのメンバー一覧を作成

ボイスチャンネルにいるメンバーの一覧リストが欲しいなという時

  1. 任意のボイスチャンネルに自分が入ります
  2. 振り分けたいメンバーをボイスチャンネルに集めます
  3. 任意のテキストチャンネルで !list と入力します

f:id:rustykaraf:20180805124655p:plain

テキスト形式で一覧が出力されます。

Excelにコピペしたり、Web上のチーム分けサイトにコピペできます。

Tips.ボイスチャンネル内に何人いるか知りたい場合は、この !list で何人いるか調べる事ができます。
予め !list で総人数を把握しておいてから、 !team 4 や !men 3 などとチームを分けていくと便利です。

TRPGダイス クトゥルフ 関連

ダイス

(2018/11/06 変更: ダイス結果をSidekickのように1行で表示するように変更しました )

(2018/11/06 追加: コマンド内で計算できるようにしました。 )

(2018/11/03 追加: シークレットダイスを追加しました。 )

(2018/10/31 変更: コマンドを !10d6!r 10d6 と変更しました。)

(2018/11/01 削除: !10d6+10 のコマンド(ベース値)を削除しました。)

 

TRPG(テーブルトーク)プレイ等でサイコロを振りたいという時

  1. 任意のテキストチャンネルで(振りたい回数)(ダイスの面体)を指定します。
  2. 例:6面体ダイスを10回振りたい場合は!r 10d6 と入力します

!rだけだと1d100を振ります。
(注意:現在の仕様は0を含まずに1から開始します。)

例:!r 1d100 の出目の範囲は、1~100です。(0~99ではありません)

f:id:rustykaraf:20190131150129p:plain

 

Tips.メモを追記できます

例:回避行動のダイス振りである事をメモしておきたい場合は、!r 1d100 回避行動と入力します。
(!rのみ や !sのみにメモを付ける場合は、「空白(スペース)」を2個続けてください 例:!r  目星、!s  心理学 )
(一部で追記できない場合もあります)

f:id:rustykaraf:20190131153734p:plain

 

Tips.成功・失敗を判定できます

例:100面体ダイスを1回振り、50以下を成功とする場合は!r 1d100<=50と入力します

f:id:rustykaraf:20190131150328p:plain

 

Tips.ダイスを複数振ることができます

例:100面体ダイスを3回振り、6面体ダイスを10回振る場合は!r 3d100+10d6と入力します

f:id:rustykaraf:20190131150518p:plain

 

 Tips.指定した出目の回数をカウントする事ができます

例:6面体ダイスを10回振り、5(指定出目)の回数をカウントする場合は!r 10d6=5と入力します

f:id:rustykaraf:20190131150640p:plain

 

Tips.出目が最大の時にダイスを振り足す事ができます

例:6面体ダイスを3回振り、6(最大出目)の時に振り足す場合は!r 3d6!と入力します

f:id:rustykaraf:20190131150742p:plain

 

Tips.シークレットダイスを振ることができます。

例:6面体ダイスを3回振り、6(最大出目)の時に振り足す場合は!s 3d6!と入力します(通常ダイスのコマンドの!r!s に変えるだけです。)

機能は通常ダイスと同じです。

 

Tips.計算もできます。

f:id:rustykaraf:20190202083814p:plain

 

クトゥルフ用 判定ダイス

(2018/11/06 変更: ダイス結果をSidekickのように1行で表示するように変更しました )

(2018/11/13 新規: 新規追加しました。 )

 

普段、!r 1d100<=60 のようなコマンドを毎回入力してる方へ少しでも入力の省力化としてこのコマンドを用意しました。

 

クトゥルフ神話TRPGで1d100の通常時の判定をしたい時

  1. 任意のテキストチャンネルで!cn 60 (60は判定値)と入力します。
    (判定値を省略すると50で判定します)

クトゥルフ神話TRPGで1d100の戦闘時の判定をしたい時

  1. 任意のテキストチャンネルで!cb 60 (60は判定値)と入力します。
    (判定値を省略すると50で判定します)

 

Tips.通常時と戦闘時の違い → クリティカルの有無・ファンブルの範囲の違いだけです。

通常の判定時も「クリティカル1-5、ファンブル96-100」を採用されている方は、!cb の方でダイスを振ってください。

スペシャルの採用有無は運用でカバーをお願いします。

f:id:rustykaraf:20190131150926p:plain


ダイスロール判定の詳細は以下のサイトを参考にしてください。

いあいあ! くとぅるふ!
http://yaosame.m22.coreserver.jp/coc?page=diceroll 

 

クトゥルフ 抵抗判定

(2018/12/13 追加: !c抵抗 コマンドを追加しました)

(2018/11/06 変更: ダイス結果をSidekickのように1行で表示するように変更しました )

(2018/11/25 新規: 新規追加しました。 )

 

クトゥルフ神話TRPGで抵抗の判定をしたい時

  1. 任意のテキストチャンネルで!cr 6 4 または !c抵抗 6 4(6は能動側・4は受動側)と入力します。(判定値を省略すると1で判定します)

f:id:rustykaraf:20190131151058p:plain

  

クトゥルフ 狂気判定

(2019/03/05 追加: !c一時 !c不定 コマンドを追加しました)

(2018/12/13 追加: !c短期 !c長期 コマンドを追加しました)

(2018/11/28 新規: 新規追加しました。 )

 

クトゥルフ神話TRPGで短期の一時的狂気の判定をしたい時

  1. 任意のテキストチャンネルで!csi または!c短期 または!c一時 と入力します。

クトゥルフ神話TRPGで長期の一時的狂気の判定をしたい時

  1. 任意のテキストチャンネルで!cli または!c長期 または!c不定 と入力します。

f:id:rustykaraf:20190131151308p:plain

 

クトゥルフ キャラ作成

(2018/11/25 新規: 新規追加しました。 )

 

クトゥルフ神話TRPGのキャラクターを作成したい時

  1. 任意のテキストチャンネルで!cm と入力します。

f:id:rustykaraf:20190131151412p:plain

 年収・財産の単位は万円です

 

クトゥルフ スマホ用メニュー

(2018/11/28 新規: 新規追加しました。 )

 

スマホでDiscordを利用していて、何度も!1d100と入力するのが面倒な時

  1. 任意のテキストチャンネルで!c と入力します。
  2. 1d100のダイスを振りたい時は絵文字のを押してください。

(全角で!Cと入力しても動作します。切り替え面倒ですよね?)

 ※現在はスマホ用メニューから抵抗判定が実行できません

(コマンドからは動作します。絵文字メニューから抵抗が実行できません)

f:id:rustykaraf:20190131151520p:plain

Tips.同じダイスをもう一度振りたい場合は絵文字を2回押してください
(カウントを減らしてもう一度押す)

Tips.狂気判定やキャラ作成のコマンドを忘れた時にも利用できます
(!cを覚えておくだけ!)

 

その他の機能

おみくじ

(2019/02/26 変更: 運勢の出現率を全部均等から重み付けするようにしました )

簡単なおみくじを表示します

f:id:rustykaraf:20180810064849p:plain

Tips.運勢の出現率は以下の通りです。

  • 大吉:7%
  • 中吉:15%
  • 小吉:23%
  • 吉:28%
  • 末吉:15%
  • 凶:8%
  • 大凶:4%

 

投票・アンケート

(2019/02/01 新規: 新規追加しました。 )

投票・アンケートを行いたいという時

  1. 任意のテキストチャンネルで !poll または !投票 と入力します
    例:!poll "質問したい事" "選択肢1" "選択肢2" "選択肢3"
    ※ 選択肢の入力がないと、⭕と❌が表示されます
    ※ 選択肢の入力があると、🇦 🇧 🇨 と表示されていきます
    ※選択肢は10個までです

f:id:rustykaraf:20190201211615p:plain

 

PUBGのプレイヤー数

PUBGの現在のプレイヤー数とピークプレイヤー数を表示します。

  1. 任意のテキストチャンネルで !pubgn と入力します

f:id:rustykaraf:20180806090416p:plain

DOTA2のプレイヤー数

PUBGの現在のプレイヤー数とピークプレイヤー数を表示します。

  1. 任意のテキストチャンネルで !dota2n と入力します

Apex Legends のスタッツ

(2019/03/16 新規: 新規追加しました。 )

Apex Legends のスタッツ(戦績)を表示します。
(※現状のAPIの仕様は集計対象が一部だけかもしれません)

  1. 任意のテキストチャンネルで !apex (名前) と入力します。

f:id:rustykaraf:20190315235909p:plain

パスワード作成

パスワードを作成したいなという時

  1. 任意のテキストチャンネルで !pass と入力します(デフォは10桁)
  2. 桁数を指定したい場合は !pass の後ろに 桁数 を入力します
  3. 文字種別を指定したい場合は 桁数 の後ろに A a 0 % を入力します
  • A 大文字、小文字、数字の組み合わせ
  • a 小文字、数字の組み合わせ
  • 0 数字のみの組み合わせ
  • % 特殊文字、大文字、小文字、数字の組み合わせ(使用される特殊文字は、Yahooのルールと同じ文字です。!"#$%&\'()=~|-^\@[;:],./`{+*}>?_ )

f:id:rustykaraf:20181026200305p:plain

Tips.ナンバーズ4等のランダム予想にも使う事ができます

例:ナンバーズ4を予想する場合は!pass 4 0と入力します

例:ナンバーズ3を予想する場合は!pass 3 0と入力します

 

テキストチャンネルのメッセージ削除

(2019/01/04 変更: 機能を変更しました。 )

(2018/12/19 新規: 新規追加しました。 )

テキストチャンネルのメッセージを削除したいなという時

[事前準備]
Botに「メッセージの管理」の権限を与えます

f:id:rustykaraf:20181219163844p:plain

  1. チャンネル管理権限を持ったユーザーが任意のテキストチャンネルで !delete_message と入力します
  2. メッセージが全削除されます

※メッセージが多いと削除に非常に時間がかかります。

※削除したメッセージは元に戻す事ができませんので慎重に実行してください!

  

ヘルプ:使えるコマンドの確認

使えるコマンドを確認したいなという時

  1. 任意のテキストチャンネルで !help と入力します

ヘルプが表示され、使えるコマンドが確認できます。

f:id:rustykaraf:20190202083137p:plain

 

過去の変更履歴

2018年

2018/12/19 テキストチャンネルのメッセージ削除コマンドを追加しました。

2018/12/13 クトゥルフのコマンドを追加しました。

2018/11/25 クトゥルフスマホ用メニューを追加しました。

2018/11/25 ダイス結果をSidekickのように1行で表示するように変更しました。

2018/11/25 クトゥルフ用のキャラ作成機能、抵抗判定機能を追加しました。

2018/11/13 クトゥルフ用のダイス機能を追加しました。

2018/11/01 ダイスボットの機能を追加しました。

2018/10/07 Botの中身を書き換えました。(使用者側に変更はありません)

2018/07/31 公開を再開しました。1ヶ月間無料稼働できる見込みになったため。

2018/07/28 公開を中止しました。理由はHerokuの無料稼働時間が厳しいため1ヶ月運用できないからです。再度、自サーバーのみの運用とさせていただきます。

 

注意事項

  • バグや障害、その他いろんな事情で突然止まるor公開を取りやめるかもしれません
    • ちゃんとテストしてるわけではないので多数のバグがある可能性大
  • TeamShuffleが原因で何か起きても責任は負えません

開発者

「おじさんゲーマーズ」のKaraf

バグの報告はここのコメントにてお願いします。

謝辞

DiscordのPythonJPコミュニティの皆さん、ありがとうございました。

説明ページ作成にあたり、otuhs_dさんのサイトを参考にさせていただきました。