📖

本気でDiscordの音楽Botを作りたい人へのガイドライン

2023/12/11に公開

本気でDiscordの音楽Botを作りたい人へのガイドライン

プログラミング言語

別になんでも構わない。ただし、私はNode.jsしか得意ではないので以下の記事はNode.js向けに書きます。

使用するモジュール・パッケージ・API

絶対使わないといけないもの:プログラミング言語、コンパイラーorインタープリタ、Discord APIラッパー(作れるのなら自作でも可ですが…)、Lavalink(ytdl-coreとかで無理やり実装していた時代が私にもありました。Lavalinkを使い始めて人生が変わりました。人生は言い過ぎかもしれません。)、Lavalinkクライアント(自作でも可ですが思ったより難しいです(難しかったです))

私の環境: Node.js(JavaScript), discord.js, Lavalink, Shoukaku, Spotify API

Lavalinkに関して

Lavalink: Java, Kotlinで書かれた音楽Botを簡素化するためのプログラム。有志の開発したプラグインなどもあります。少なくともLavaSrcは入れておくとよいと思います。(Spotifyが使えるようになる)。
超有名なDiscordの音楽Bot、FredBoatやChip、Laraなどでも使用されているバックエンドです。それが使えてしまう。

ちょっとした解説

discord.js: Node.js向けのDiscord APIラッパー。有名なラッパーとしては他にOceanic.jsなどがあります。

Shoukaku: Node.jsのLavalinkクライアント。ビルトインのキューシステムがなく、キューシステムを実装したい開発者におすすめ。なおアニメ画像を削除しようとするPRが進行中なので安心してください。(アニメ画像さえなければただ単純に優秀なクライアントなんだが…。)

参考

手前味噌で失礼しますがこのBotはキューシステムを比較的簡素化して実装できたので多少は参考になるかと思います。ただしキューの処理が甘すぎるところもあるのでまるまるは参考にしないでください。(あとコードが汚すぎる)

有名所としてはこれとかもおすすめです。

他のプログラミング言語で開発したい方向け:多分GitHubで「プログラミング言語名 discord client」とか「プログラミング言語名 lavalink client」で検索したら出てきます。Lavalinkクライアントはここでも探せます。

Discussion