はじめに
情報伝達手段とは、情報を発信者から受け手へ伝える手段のことです。
これには、例えば一方的な手段や双方向的な手段が存在したり、アナログやデジタルが存在したりします。
現状
私が「情報伝達」と聞いてまず頭に浮かんできたのはDiscordです。Discordとはチャットサービスであり、開発者に向けてはBotを作るためのAPIを公開しています。
最近最も頑張って取り組んでいるのがDiscordのBotなので、思い浮かんできたというわけです。
今作っているのはマリオカートのタイムを記録できるBotであったり、音楽Botであったりといろいろですが、それらに共通する欠点があります。
それは、「情報が直感的につたわらない」ということです!
これぐらい簡単なものを伝える、ということなら問題はないのですが、音楽Botなどになってくるとボタンを使用して一時停止とかスキップとかができるようにならないと不便です。
すると、こうなります↓
非常に見にくいです。
埋め込みが全くきれいではありません。
文字で説明しないといけないのならアイコンはいらないでしょうよ…。
キューのボタンとか直接的に表せるアイコンがありません…。
まだ見やすくなったぐらいで、正直あまり直感的ではありません。キューのボタンもアイコンだけでわかるようにしたいのですが…。どなたかいいアイデアがあれば教えてほしいです。
技術的な事を説明すると、もともとはDiscord APIの埋め込みを直接使用していわゆる「Now Playing」を出していたのですが、@napi-rs/canvasを使用して画像にして、それを埋め込みの画像として使っています。
本当はSpotifyみたいにしたかったのですが…。
これを改善するために?
さぁ、どう改善すればいいのでしょうか?
直感的にするしかありません。
しかし、Discordのテキストベースではこれ以上直感的にできません。
これは行き詰まりではないか?と思った私の前にさっそうと現れたのがこれ↓
Discord Embedded App SDKだ!!!!
これはもう作るしかありません。
ご存じない方むけに説明すると、Discordには、VC(ボイスチャット)でちょこっと軽いゲームができたりする機能があります。
これを、Discord側で用意されたものではなく全ての開発者にオープンにしたのがDiscord Embedded App SDKです。
つまり、私にとっての最適解です。
ですので、ちゃちゃっと作っていきましょう。
(上記、参考にさせていただきました、ありがとうございます!)
具体的に何をするのか?
まず、何を作るべきかについて説明します。
と言っても、そこまで作る必要はありません。もとから音楽Botのある程度の基礎はできているのでサーバーとうまくガッチャンコするだけです。
ということで、以下が作るもののリストです↓
- 音楽Botとうまくガッチャンコされた、データを処理するためのAPIサーバーを作る
- これまたうまくガッチャンコされた、Activityのページ配信用のバックエンドサーバーを作る
- バックエンドサーバーから送られるHTML,CSS,更にデータをバックエンドに送るためのJSを作る
正直に言えばステップ3が最も難しいです。
ステップ1
と、いきたいところだったのですが
時間が、ありませんでした。
投稿が、間に合いません!
なんか竜頭蛇尾な記事になって本当に申し訳ないのですが、一旦ここで記事をまとめます…。
なんだかよくわからないエラーがDiscord Developer Portalで出てきており、これを解決できませんでした。
(この記事を書いている7/20時点では解決済み)
そのため、期限に間に合いませんでした。
が、期限はもう過ぎましたが経過ごとに追記させていただきます。
7/20(とりあえずベース)
先程の参照記事を参考にセットアップしたところ、取り合えずActivityを再生できるようにしました。