🤖

ノーコードのDiscordのBot作成ツールを公開したら4kブクマついた話

に公開

突然ですが、Discord Bot作るのって、地味にハードル高くありません?

「ちょっと内輪のサーバーで、特定の言葉に反応するBotが欲しいだけなのに...」
「『ボタン』とか『入力フォーム』とか実装したいけど、ドキュメント読むのしんどい...」
intents の設定とか async/await とか、毎回書くボイラープレート多すぎ問題」

...もっとこう、パズルみたいにサクッと作れないの!?

という完全に自分本位な動機で、ブラウザ上でブロックをポチポチ並べるだけで最強のDiscord Botが作れるツール 「Easy Discord Bot Builder」略してEDBB を爆誕させました。
最強とは言ってみましたがもっと上がありそう....

https://himais0giiiin.com/

そもそも、これ何?

百聞は一見に如かず。これを見てください。

そう、Scratch...ではなく、Blocklyです。
Googleが開発しているビジュアルプログラミングのアレを使って、Discordの機能をレゴブロックみたいにカチカチ組み合わせられるようにしました。

「え、でもショボい機能しか作れないんでしょ?」

...と、思うじゃないですか?
僕も最初は言葉に反応して適当に返信するだけでもできればいいかと思ってたんですが、作ってるうちに楽しくなっちゃって、機能盛りすぎました。

今のDiscord Botに求められる「モダンな機能」、大体ブロック化してあります。

1. 「ボタン」とか「モーダル」の実装、ダルくないですか?

Discord.pyでボタン付きメッセージを送って、そのコールバックを受け取って...って書くと結構な行数になりますよね。

このツールなら、これだけです。

「ボタンがクリックされたとき」 ブロックの中に処理を入れるだけ。
裏側で勝手に interaction の判定とか、コールバック関数の生成とかやってくれます。最高かよ。

2. 「リアルタイム」でコードが生えてくる快感

「ブロック置いてるけど、実際どんなコードになってるの?」って気になりますよね。

画面右上の「Split」ボタンを押してみてください。

ブロックを動かすたびに、右側のPythonコードがリアルタイムで書き換わります。
これ、見てるだけで結構楽しいです。「へー、このブロックはPythonだとこう書くんだ〜」っていう学習用にもなる...かも?

3. 機能、意外とガチです

ただのチャットBotではありません。サーバー管理もお任せあれ。

  • Kick / Ban / タイムアウト: 荒らし対策もブロックで。
  • 埋め込み (Embed): カッコいいメッセージもGUIで作れます。
  • スラッシュコマンド対応: /ping みたいなコマンドも一瞬。
  • 音声再生: サーバーのVCに入って音楽再生とかもできます(FFmpeg連携)。
  • JSON読み書き: 簡易的なデータベースとしてJSON保存もできます。

技術的な中身(どうやってんの?)

「どうせReactとかVueとか使ってるんでしょ?」と思いきや、実は Vanilla JS (素のJavaScript) + Tailwind CSS だけでゴリゴリ書いてます。

  • Frontend: HTML5, JS (No Framework)
  • Styling: Tailwind CSS (ダークモード対応!)
  • Core: Google Blockly
  • Code Gen: Custom Python Generator (discord.py 準拠)

特に頑張ったのは、Blocklyの標準Pythonジェネレーターの改造です。
discord.py 特有の非同期処理 (async def) や、デコレータ (@bot.tree.command) を正しく出力させるために、ジェネレーター部分(blocks.js)を魔改造しました。

あと、UIもBlocklyのデフォルトだとちょっと「教育用」っぽさが強かったので、Tailwindでクラスを上書きしまくって、いい感じのモダンな見た目に整形しています。

使い方(3ステップ)

  1. ブラウザでブロックを組む(アイデアを形にする)
  2. 「コード生成」ボタンを押す(完成したコードをコピー)
  3. Botを走らせるpython bot.py Enterキーをかっこつけて押してもヨシ!)

これだけ。環境構築さえ済んでれば、アイデア思いついてから5分でBotが動きます。

最後に

「Bot作りたいけどコード書くのが億劫...」というそこのあなた。
あるいは「プログラミング未経験の友達にBot作りを教えたい」という方。

Easy Discord Bot Builder、正式リリースしてますが、ちょっと不安定です。
でも、結構遊べると思います。
作ったロジックをXMLファイルとしてインポート/エクスポートもできるので、作った最強のロジックを友達に配ることも可能です。
トークンの共有は絶対厳禁!!!

もしよかったら使ってみて、バグとか要望とかあったら教えてください!

https://himais0giiiin.com/
リポジトリはこっち。
https://github.com/himais0giiiin/easy-bdc

Discussion