前回の改修で気づいたこと
前回の開発日記で、映像制作工房LACのDiscordチャットボットを改修した話を書きました。Botの回答後に「解決した」「サポーターに質問する」のボタンを表示し、利用者さまが次のアクションを選べるようにした改修です。
関連記事:開発日記|適当に教えるくらいなら教えない ― Discordチャットボット改修の記録
この改修でDiscordのInteraction機能を触り込みました。ボタン、セレクトメニュー、モーダルフォーム。利用者さまがテキストを打たなくても、ボタンを押すだけで状態を変えたり、処理を走らせたりできる。チャットボットの文脈で実装したものですが、作っているうちに「これは学習サポート以外の運用にも使えるのでは」と思い始めました。
具体的に頭に浮かんだのが、ID発行の自動化です。
映像制作工房LACとは
映像制作工房LACは、就労継続支援事業所様に、動画編集の学習カリキュラムを提供するサービスです。自社開発の学習管理システム上で利用者さまが動画講座の視聴や課題提出を進め、専門のサポーターがDiscordのテキストチャットで質問や相談に対応します。
ただし、目的は「動画編集ができる人」を育てることではありません。映像制作スキルの習得過程を通じて就労基礎動作を身につけ、就職につなげることが主な目的です。就職を目指さない方でも、事業所内で安定して活動できる人材になることを目指しています。
ID発行、地味だけど集中力が持っていかれる
新しい事業所様が参加されたり、既存事業所様に新たな利用者さまが参加されると、利用者さまごとに学習管理システムのアカウントを作成する必要があります。
今の流れはこうです。Discordへの参加を案内する、参加した人の情報を見て、支援者様に確認し、1人ずつIDを発行する。IDとパスワード設定用URLを発行し、事業所様に案内を送る。利用者様を該当チャンネルに招待し、オンボーディングの定型文を送付する。
厄介なのは、この作業の発生タイミングに偏りがあることです。何もない日が続いたかと思えば、1日に数回まとめて依頼が来る日がある。せっかく加盟いただいたのだから、できるだけ早くアカウントを発行して学習を始めてもらいたい。でも、別の作業に集中しているところでID発行に切り替えると、完全に集中が途切れる。定型的な手順をこなしてまた元の作業に戻ろうとしても、さっきまで考えていたことの文脈が飛んでいる。
作業そのものは難しくありません。頭を使う仕事ではない。だからこそ余計にもったいない。この程度のことで集中が途切れるのか、という気持ちがありました。外出先からスマホでぱっと済ませられるくらいの仕組みがあれば、わざわざPCの前に座って作業を中断する必要がなくなるのに。

Discordから出ずに完結させたい
チャットボット改修でボタンUIの実装パターンが手元にある状態で思いました。「ID発行もDiscordのボタンでできるのでは」と。
構想はこうです。挨拶用のチャンネルでメンバーの参加を検知するか、管理用のチャンネルでスラッシュコマンドを打つと、そのデータを読み取ってオンボードが開始される。アカウント発行については「発行する」「キャンセル」のボタンで確認ステップを挟む。発行が確定したら、事業所様の担当チャンネルに初期設定の案内が自動投稿される。
Discordから出ずにID発行が完結するという話です。Discordはスマホでも動くので、外出先でも通知を見てボタンを押すだけで処理が走リます。これにより、PCの前に戻って別のツールを開いて…という手順がなくなります。
なぜDiscordにこだわるかというと、単純に、みんな普段からDiscordにいるからです。運営もサポーターも、日常のコミュニケーションはDiscord上で動いている。ID発行のためだけに別のWebアプリを開いてログインして操作する、というコンテキストスイッチが地味に重い。
普段使っているツールの上で、普段の延長線上で操作できるのが一番楽です。
もう一つの理由は、操作ログが自然に残ることです。Discordのチャンネルでコマンドを打ってボタンを押す。その操作自体がメッセージとしてチャンネルに残るので、「いつ、誰が、何を発行したか」の記録が別途取らなくても勝手に溜まる。前回の改修でボタン1つがデータを生む設計を経験したので、この感覚はかなり意識するようになりました。

チャットボット改修の「副産物」
チャットボット改修は学習サポートの改善としてやったものですが、副産物として「DiscordのInteraction実装のパターン」が手元に残りました。ボタンの表示、押下イベントの受け取り、確認フローの実装、チャンネルへの自動投稿。これらのコードはそのまま流用できるか、少し手を加えれば使い回せるものが多い。
つまり、ID発行の自動化をゼロから作るわけではなく、既存のBot基盤に機能を足す形で進められる。追加開発のコストが比較的低く抑えられそうだ、という見通しが、この構想に踏み出す後押しになっています。
完全自動化ではないけれど、だいぶ楽になった
振り返ると、オンボーディング全体で言えばかなりの部分が自動化できています。ID発行と初期設定のガイド。
以前は全部手動でやっていたことを考えると、だいぶ楽になりました。
学習サポートの自動化から、運営オペレーションの自動化へ
前回のチャットボット改修は「学習サポートの自動化」でした。利用者さまの質問に対して、Botが一次対応し、解決しなければサポーターにつなぐ。つまづきの検知と対応を仕組みで回す。
今回は「運営オペレーションの自動化」です。利用者さまが映像制作工房LACで学び始めるまでの準備を、仕組みで回す。対象は違いますが、基盤は同じDiscord Botです。
同じ土台の上で、用途が広がっていく。チャットボット改修をやっていなかったら、この発想にはたどり着いていなかったかもしれません。
目の前の課題を解決するために作ったものが、別の課題にも使えると気づく。開発をしていて一番楽しい瞬間です。
実装したら、また書きます。