cordot
by Abdera7mane
ℹ️ Note: If you are looking to integrate your game with the Discord client, check out Discord RPC.
Cordot
Discord API wrapper for Godot Engine written in GDScript language.
Features
- Object oriented
- Statically typed
- Supports gateway resumes and auto reconnects when possible
Example
A minimal bot written using this library
extends Node
var token: String = "bot_token"
var client: DiscordClient = DiscordClient.new(token)
func _ready() -> void:
add_child(client)
client.connect("client_ready", self, "_on_bot_ready")
client.connect("message_sent", self, "_on_message")
client.login()
func _on_bot_ready(user: User) -> void:
print("Bot is ready !")
print("logged as: ", user.get_tag())
var presence := PresenceUpdate.new()
presence.set_status(Presence.Status.DND)\
.add_activity(Presence.playing("Godot Engine"))
client.update_presence(presence)
func _on_message(message: Message) -> void:
if message.author.is_bot:
return
if message.content.to_lower().begins_with("hello"):
message.channel.create_message("Greetings !").submit()
Installation
git clone --recursive https://github.com/Abdera7mane/cordot
cd cordot
git submodule update --init --recursive
Open the folder as a Godot project or copy the addons
directory to an existing project.
Documentation
The documentation is hosted on ReadTheDocs.
Contributions to cordot-docs are welcomed.
Usage
Even though this may seem useless for a Godot game, I find this project being useful in some scenarios:
- Learning resource
- Running a discord bot in a Godot game server
It is always up to you and your creativity on how you will use this project as long as you don't abuse the Discord API.
Download
Support
If you need help or have questions about this plugin, please contact the author.
Contact Author