Discord Bot API wrapper for Godot. Make bots in GDScript.
145
stars
86
commits
GDScript
primary language
Jan 16, 2026
updated
100% GDScript
![]()
Buttons and SelectMenusApplication Commands aka Slash Commandsbot_ready, guild_create, message_create, message_delete, etc.ImageTexture
Supercharge your Godot 4.2+ workflow with GDAI MCP – the ultimate Godot MCP server that lets AI tools like Claude, Cursor, Windsurf, VSCode and more automate scene creation, node editing, reading godot errors, creating scripts, debugging, and more.
Vibe code like never before!
This is a regular plugin for Godot.
Copy the contents of addons/discord_gd into the addons/ folder in the same directory as your project, and activate it in your project settings.
The plugin now comes with no extra assets to stay lightweight. If you want to try an example scene, you can see the examples from: Discord.gd Examples
For in-depth installation instructions check the Installation Wiki
Note: You will need a valid Discord Bot token available at Discord Applications
After activating the plugin. There will be a new DiscordBot node added to Godot.
Click on any node in the scene tree of your scene for example Root and add the DiscordBot node as a child.
Connect the various signals (bot_ready, guild_create, message_create, message_delete, etc) of the DiscordBot node to the parent node, either through the editor or in the script using the connect() method.
Attach a script to the Root node.
extends Node2D
func _ready():
var discord_bot = $DiscordBot
discord_bot.TOKEN = "your_bot_token_here"
discord_bot.login()
discord_bot.bot_ready.connect(_on_DiscordBot_bot_ready)
discord_bot.message_create.connect(_on_DiscordBot_message_create)
func _on_DiscordBot_bot_ready(bot: DiscordBot):
print("Logged in as %s#%s" % [bot.user.username, bot.user.discriminator])
print("Listening on %d channels and %d guilds." % [bot.channels.size(), bot.guilds.size()])
func _on_DiscordBot_message_create(bot: DiscordBot, msg: Message, channel: Dictionary):
print("New message from %s: %s" % [msg.author.username, msg.content])
if msg.author.bot:
return
await bot.reply(msg, "Hi!")
This plugin is a non-profit project developped by voluntary contributors.
- YaBoyTwiz#6733
Want to support in other ways? Contact me on Discord: @3ddelano#6033
For doubts / help / bugs / problems / suggestions do join: 3ddelano Cafe
84 commits
2 commits
GDScript
100.0%
Discord Bot API wrapper for Godot. Make bots in GDScript.
145
stars
86
commits
GDScript
primary language
Jan 16, 2026
updated
100% GDScript
![]()
Buttons and SelectMenusApplication Commands aka Slash Commandsbot_ready, guild_create, message_create, message_delete, etc.ImageTexture
Supercharge your Godot 4.2+ workflow with GDAI MCP – the ultimate Godot MCP server that lets AI tools like Claude, Cursor, Windsurf, VSCode and more automate scene creation, node editing, reading godot errors, creating scripts, debugging, and more.
Vibe code like never before!
This is a regular plugin for Godot.
Copy the contents of addons/discord_gd into the addons/ folder in the same directory as your project, and activate it in your project settings.
The plugin now comes with no extra assets to stay lightweight. If you want to try an example scene, you can see the examples from: Discord.gd Examples
For in-depth installation instructions check the Installation Wiki
Note: You will need a valid Discord Bot token available at Discord Applications
After activating the plugin. There will be a new DiscordBot node added to Godot.
Click on any node in the scene tree of your scene for example Root and add the DiscordBot node as a child.
Connect the various signals (bot_ready, guild_create, message_create, message_delete, etc) of the DiscordBot node to the parent node, either through the editor or in the script using the connect() method.
Attach a script to the Root node.
extends Node2D
func _ready():
var discord_bot = $DiscordBot
discord_bot.TOKEN = "your_bot_token_here"
discord_bot.login()
discord_bot.bot_ready.connect(_on_DiscordBot_bot_ready)
discord_bot.message_create.connect(_on_DiscordBot_message_create)
func _on_DiscordBot_bot_ready(bot: DiscordBot):
print("Logged in as %s#%s" % [bot.user.username, bot.user.discriminator])
print("Listening on %d channels and %d guilds." % [bot.channels.size(), bot.guilds.size()])
func _on_DiscordBot_message_create(bot: DiscordBot, msg: Message, channel: Dictionary):
print("New message from %s: %s" % [msg.author.username, msg.content])
if msg.author.bot:
return
await bot.reply(msg, "Hi!")
This plugin is a non-profit project developped by voluntary contributors.
- YaBoyTwiz#6733
Want to support in other ways? Contact me on Discord: @3ddelano#6033
For doubts / help / bugs / problems / suggestions do join: 3ddelano Cafe
84 commits
2 commits
GDScript
100.0%