Help us understand the problem. What is going on with this article?

DiscordAPIでラグナロクマスターズのチーム管理ツールを作りました

この記事はDiscord Advent Calendar 2019の11日目の記事です。

ごきげんよう🌸
DiscrodAPIを使ってラグナロクマスターズのチーム管理ツールを作成した @wakanayoshizawa です。

当記事では、ツールのコンセプトや構成、運用について、サービス開発について大切だと感じたことをご紹介します!

ラグナロクマスターズとは

ラグナロクオンラインが2002年に公開されてから17年経つ2019年、スマホ対応のラグナロクマスターズ(以下ラグマス)がリリースされました!
ラグマストップ

昔は2Dだったキャラクターも3Dとなり、「ラグナロクをを知るものたちよ、今こそここに来たれ!」というゲームです。
まだ遊んだことがない方はラグマスで遊びましょう🙋‍♀️

ゲームコミュニケーションはDiscord時代

さてさて近年、ゲームのコミュニケーションやコミュニティ運用は、Discord全盛と言っても大袈裟ではないですよね。
Discordトップ

ラグマスでも多くのギルドがDiscordを利用しています。
こういった現状を踏まえ、Discordを使ったラグマスギルドをお手伝いするためのツールを作りました!

「カプラのラグマスギルド管理」公開

サービス「カプラのラグマスギルド管理」のコンセプトはギルドマスター支援としました。
ラグマスのギルドマスターを助けるサービスを目指しています。
カプラのラグマスギルド管理

なぜギルドマスターを助けるの

実は、ラグマスのギルドマスターはとても多忙なのです!

ラグマスのギルドマスター(以下ギルマス)は多くの仕事を抱えています。
一例を挙げると以下のようなものです。

  • 攻城戦メンバー出席管理
  • 攻城戦パーティー調整
  • メンバー勧誘やギルドPRなどの情報発信

これらは通常Discordや、グーグルスプレッドシート、Twitterなどで行われています。
ギルマスは単にゲームを遊ぶだけでなく、これら複数のツールを駆使しながらギルドメンバーが楽しく遊べる環境づくりに貢献しています。

image.png

実はギルマスを続けるのってすごく大変じゃないですか??
なんとかギルマスを助けなくちゃという気持ちでサービスを開発しました。

Discordのイベント出欠機能をリリース

2019年9月、「カプラのラグマスギルド管理」をリリースしました。

以下のような機能を備えています。

  • Discordボットからの対話コマンド機能
  • Discordからのメンバーインポート
  • アカウント登録機能
  • イベント出欠機能

とにかく公開したかったので最低限の機能という感じで公開しました。

サービスの売りとしては、ギルドメンバーが使っているDiscordからボット対話ができるのでスプレッドシートより学習コストが少ない点、アカウント機能があるためスプレッドシートの公開運用よりもセキュアであるところです。

構成

ユーザーは2箇所からサービスにアクセスすることができます。
Discordからはボット経由で、ウェブからはブラウザで「カプラのラグマスギルド管理」にアクセスできる仕組みです。
カプラのラグマスギルド管理の構成

Discordのボット側はdiscord.py、サーバーサイドはLaravelからMySQLをみています。
LaravelからDiscordを叩きたい場合は、RestCordを使用しました。

フロントはBootstrapです。

開発の感触

Discordボット開発では、discord.pyがすごくいいです。
discord.pyでなんでもできるので不自由しないはずです。

他にはLaravelの権限でGateが便利でした。権限追加がとてもやりやすいです。

リリース後の運用

リリース後は運用フェーズになります。
幸運にも初期からいくつかのラグマスのギルドにご利用いただけました。

初期からユーザーに使っていただいたことが、サービスが進化するきっかけとなりました。

リリース直後は問題山積

リリース日を急いだこともあり、リリース後は問題山積みでした。

  • バグ報告
  • ユーザーからの要望
  • 仕様変更部分の修正

リリース後すぐに「仕様をぼんやりしたたままリリース日のラインだけを引いた開発」、を進めたツケを払うことになりました。

テストできなかった箇所やリリース直前の仕様変更部分でのバグ対応や、ユーザーさんからもっとこうして欲しいという意見を次々といただき対応に追われました。

image.png

一時期は1日1件ペースで問い合わせをいただくこともありました。
サービスを公開していると、アプリケーションやインフラだけでなくUIもテキストなどの説明文も全てがユーザーのUXに関係してきます。十分な対応がない箇所は全てが脆弱性になる可能性があります。

しかし全ては身から出た錆であり、ギルマスとラグマスユーザーのためには対応しなければなりません。

ユーザーのおかげでサービスがどんどんよくなる

カプラのラグマスギルド管理」ではユーザーさんから要望をいただき新機能がどんどん追加されています。
最近では、ボットからDiscordのリアクションAPIを利用してPOSTできたりと少しずつバージョンアップを重ねています。

サービスが良くなってくると Twitter でご紹介いただけるようになった気がしています。

食器洗い乾燥機と言われました🙆‍♀️

正直な話、リリース時を振り返ると機能が少なく、わかりにくい箇所や使いにくいところばかりでした。
そんな不十分なツールでも使ってくださったユーザーのみなさんに本当に感謝しかないです。

この感謝を胸に、今後もギルマスを支援できるツールを目指し真剣に向き合っていきます。

最後はサービス開発について

結論からいえば、サービス開発で大事なことは2つあると思いました。

  • まずはリリースする
  • 問い合わせ窓口を用意する

まずリリースする

サービス開発では、「まずリリースしろ」とよく言われます。
これは本当にその通りだと感じました。

リリースするからことによって自分の考えが足りなかった箇所や思い込みに気づかされます。
サービスをリリースするだけで、多くのことを学ぶことができるからです。

問い合わせ窓口を用意する

あとはユーザーさんから連絡をもらうための問い合わせ窓口を設けることが大事です。窓口はTwitterでもなんでも大丈夫です。ユーザーさんから意見をいただければ励みになり、開発が進みます。

ユーザーさんが開発の後押しをしてくれるのです。

Discordボットいいですよ

この記事を読んで、Discordボットサービス開発に興味を持った方がいたら、ぜひリリースしてください。
ただし問い合わせ窓口は必ず用意しましょう。

P.S.
Discordはすごいサービスです。Qiitaをご覧のみなさんにはSlackやChatworkが有名かもしれませんが、Discordいいですよ。APIや権限周りは綺麗で使いやすいと感じました。

Discordボットを作ったことがない方がいたらぜひ試して欲しいと思います!

商標

© Gravity Co., Ltd. & Lee MyoungJin(studio DTDS). All rights reserved.
© GungHo Online Entertainment, Inc. All Rights Reserved.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした