2016年コミケの旅

この記事は1時間半遅れで投稿された OUCC Advent Calendar 2016 - Adventar の18日目の記事です.というか遅刻してばかりですね…すみません…

昨日はid:nantenさんの「個人的2016年を振り返る -」でした.

www.adventar.org

今回はOUCC内で暗躍する組織,コミケ班についてです.

コミケ班とは何か.それは毎年夏と冬に東京で開かれる祭, すなわちコミケで頒布される様々なお宝,それらを求める同志達によって結成される同盟です(何が頒布されるのかはお察しください). この記事でコミケに興味のない部員は全く知らないであろう,コミケ班の活動内容について紹介したいと思います.

f:id:spring_raining:20161219012037j:plain

コミケ班の基本戦術は人海戦術です. 欲しいものがたくさんある場合,複数人でエリアごとに分担し,後ほど担当の人と戦利品を交換します. こうすることで広い会場を一人で行き来する必要が無くなり, 売り切れる前に効率よく買うことができるというわけです.

そんなコミケ班の情報交換の手段にはいろいろ紆余曲折があったのですが, 数回前からはコミケ班でもSlackが定着してきました. Slackのチャンネル機能は本当に便利で,担当エリアのチームごとでチャンネルを分けることで, リアルタイムの情報伝達がとてもやりやすくなっています.

f:id:spring_raining:20161218181635p:plain

メンバーが分担して買い物を行う時に便利なものがチェックリストです. チェックリストとはお気に入りのサークルを管理するためのリストで, 準備会公式のコミケットDVDカタログやWebカタログで提供されている機能です. コミケ班ではこのチェックリストを使って当日の買い物リストを作成・管理しています.

ところがこのチェックリストをまとめる作業が大変で,コミケ前の準備において負担となっていました. CSVで保存されたチェックリストは単純にくっつけるだけだと, 他の人と同じサークルが入っている場合に上書きしてしまうため,手作業で全員のメモを統合しなければなりません. 直前に変更があった場合も手でCSVを書き変えるなどする必要がありました.

そういうわけで,Slack上に以下のようなBotを作ってみました. このBotはSlack上で複数人のチェックリストを管理して統合したリストも生成できる, その名も「comirade-bot」です.

f:id:spring_raining:20161218182024p:plain:w300

チェックリストの読み込み.

f:id:spring_raining:20161219003730g:plain

追加コマンドで後から欲しいサークルを追加する様子.

f:id:spring_raining:20161219003134g:plain

これで直前に欲しいものが見つかっても大丈夫! 勝ったな! ガハハ!

Bot自体はBotKitというフレームワークを用いて作っており,デーモン化(というほど大層なことはしてないけど)にはDockerを使用しました.

Slackを利用したアプリケーションを作るときに問題になるのがOutgoing/Incoming WebhooksやWeb APIRTA APIなど実現するための手段がいくつもあり分かりにくいことだと思っていて,BotKitはそのいろいろなAPIを上手くラッピングして利用しやすくなったものというような印象です.Dockerは…まあ使いたい人が使えばいいんじゃないでしょうか…今回はDockerアプリの管理を練習するつもりで使っています.

CM

OUCCコミケ班では随時ファンネル戦友を募集中! 私たちと一緒にあなただけの戦利品を探しませんか? コンピュータに興味があればOUCCにはいつでも入部可能! 興味のある方は公式サイトから,または周りのOUCC部員にぜひお声かけください.

明日の担当はloginoさんです.