🀄

Slackのワークフローで麻雀の成績管理を楽にした話

2023/06/18に公開

5-6月は組織変更とか何か諸々忙しくて記事書けなかったという言い訳をしますw
あとティアキン、P3PのSteam版、世界樹リマスター、V Risingで忙しすぎです←
というかディアブロIV、来週にはFF16、starfield、アーマードコア新作、アトラス新作類…
いつ寝ればいいのか…

今回は初めてSlackのワークフロービルダー触ったのでその内容ですが、
業務改善とかそういうのじゃないのであんまり役に立たないかも…

目次

  • 1.きっかけ
  • 2.設計
  • 3.ワークフロービルダーとスプレットシート
  • 4.おわりに

1.きっかけ

弊社には麻雀部という部活動があります。
昨年から創設されましたけど一番盛んなのでは?って思ってます。
他にもゲーム部とか野球部とか色々あります。
で、成績管理は毎回後日1人でまとめてやっていて入力と計算含めて結構めんどくさかったので
"Slack経由で直接スプシに入力すりゃ楽じゃないか"と思って作りました。
でも今期負け越ししてるなんでや…計算ミスか????

2.設計

ここは触りながらですけど設計していきます。
大事な要素として

  • スマホから入力できること
  • 麻雀スコアの計算(25000点30000点返し、ウマなど)は勝手にしてくれること
  • 弊社の麻雀部チャンネルメンバーであれば誰でも入力できること
  • 誰と同卓したか後から見てわかるようにすること(点数入力のミスがあった場合の確認)

とします。

入力者は1位の人が連続で入力してもらうことにしました。
1位の人に気分よく入力して貰うことで入力も面倒臭いという感情を排除させましたw
その前は各々点数を入力する予定でしたが、誰と同卓したかが不明になるのでやめました。
ちなみにこの間初めて使用しましたが僕は本番でまだ一度も使えておりません…

3.ワークフロービルダーとスプレットシート

まずはワークフローからですが、なんだかんだ作ること自体初めてだったので
どんなことできるんだろといった感じでした。
また、事前に部活のチャンネルとスプレットシートにSlackのワークフローから色々操作できる
Google Sheets for Workflow Builderを追加しワークフロービルダーに追加できるようします。

ワークフロービルダー

ワークフロービルダーで開き、ショートカットで使用できるように作成します。
一旦ここのチャンネル内でしか開始できないようにします。

入力させるフォームはこんな感じで、チャンネルに通知することで追加した点数と実際の点数が
合ってるかその場で確認してもらいます。

氏名は最初ドロップダウンで名前を入れておいてそれを選択してもらおうとしましたが、
ドロップダウンの数に限りがあることがわかり、かつ追加した後にチャンネルに通知する際に
メンションもされるので入力した人とされた人が確認しやすいことからメンバーにしました。

順位はドロップダウンにしましたが、ここはデフォルトのオプションで1位は1、2位は2としてるのでデフォルト以外の順位はもしかしたら不要かもです。

あとは点数を入れてもらいます。

次に2位ですが、ここからはチャンネルではなくSlackBotに飛ばしています。
同じチャンネル内だと同時に実行した場合に、2位の情報を入力する場合に"フォームを開く"というボタンが出現するのですが、別の卓情報が入力される恐れがあるため別の場所に飛ばしています。
あとは1位のフォーム内容とほぼ同じです。これを4位分まで作成します。

入力画面はこんな感じです。

入力するとチャンネルに送信され入力者、その順位のメンバーにメンションされます。

スプレットシート

これは作成する前から成績表はあったのでそれに合わせましたが、
まずスコアの出し方の確認をします。

  • 25,000点の30,000点返し
    最初は25,000点でスタートします。
    1試合終了後に(残った点数-30,000点)÷ 1000をします。
    そしてオカ(トップ賞)はスコア+20されます
  • ウマ
    ウマはワンスリーです。1位が+30、2位は+10、3位は-10、4位は-30されます。

入力するとこうなります。

ウマ無し成績の計算式
  =Round((点数-返しの点数)/1000)  
成績の計算式
  =IFS(順位=1,ウマ無し成績+1位のウマ+トップ賞,順位=2,ウマ無し成績+2位のウマ,順位=3,ウマ無し成績+3位のウマ,順位=4,ウマ無し成績+4位のウマ)  
誤差は後から確認する用です。

トータルで成績表にするとこんな感じです。
ここはピポットテーブルで作成しています。

ワークフロー側の設定画面はこんな感じです。
Add Spreadsheet rowを使用します。
Select a Spreadsheetには入力するシートを選択します。

日付、氏名、順位、点数を入力するようにします。
日付は一律ワークフロー開始時刻にします。
誰と同卓したかが後で確認できやすいので同じにします。

その他はこちらの画像の通りです。

これを4位分まで作成します。
最終的にはこのような感じになります。

※注意事項として、入力するシートの項目部分以外の行に文字が入っていた場合、何も文字が入っていない行から入力が開始されます。

これで完了です!!!!

4.おわりに

なんだかんだでSlackのワークフロー作るの初めてでしたが
この勢いでAWSのEC2起動停止用のワークフローが一部運用で必要だったので作りました。
もっと色々できそうだなーと思ったので時間がある時にやりたいことリスト洗い出したい…
ちなみに使用者向けの使い方手順書はCanvasで作りました。
これも閲覧権限とかやりたいことリストの作り方とかで
色々できそうだなーと思ったのでまたどこかでまとめます。

普通に麻雀やりたい人や企業対抗で麻雀したい方は
お気軽にTwitterなどでご連絡くださいッ!!
強くなりたい…

Discussion