No description
.github/workflows | ||
.vscode | ||
examples | ||
src | ||
.eslintrc.js | ||
.gitignore | ||
.prettierrc | ||
banner.png | ||
CONTRIBUTING.md | ||
LICENSE | ||
mod.ts | ||
package.json | ||
README.md | ||
tsconfig.json |
An easy to use Discord API Library for Deno
- Lightweight and easy to use.
- Built-in Command Framework,
- Easily build Commands on the fly.
- Completely Customizable.
- Complete Object-Oriented approach.
- 100% Discord API Coverage.
- Customizable caching.
- Built in support for Redis.
- Write Custom Cache Adapters.
- Complete TypeScript support.
Table of Contents
Usage
Right now, the package is not published anywhere, as its not completely usable. You can import it from this Raw GitHub URL: https://raw.githubusercontent.com/harmony-org/harmony/main/mod.ts
For a quick example, run this:
deno run --allow-net https://raw.githubusercontent.com/harmony-org/harmony/main/examples/ping.ts
And input your bot's token and Intents.
Here is a small example of how to use harmony,
import {
Client,
Message,
Intents
} from 'https://raw.githubusercontent.com/harmony-org/harmony/main/mod.ts'
const client = new Client()
// Listen for event when client is ready (Identified through gateway / Resumed)
client.on('ready', () => {
console.log(`Ready! User: ${client.user?.tag}`)
})
// Listen for event whenever a Message is sent
client.on('messageCreate', (msg: Message): void => {
if (msg.content === '!ping') {
msg.channel.send(`Pong! WS Ping: ${client.ping}`)
}
})
// Connect to gateway
// Replace with your bot's token and intents (Intents.All, Intents.None, Intents.Presence, Intents.GuildMembers)
client.connect('super secret token comes here', Intents.All)
Or with CommandClient!
import {
CommandClient,
Command,
CommandContext,
Message,
Intents
} from 'https://raw.githubusercontent.com/harmony-org/harmony/main/mod.ts'
const client = new CommandClient({
prefix: '!'
})
// Listen for event when client is ready (Identified through gateway / Resumed)
client.on('ready', () => {
console.log(`Ready! User: ${client.user?.tag}`)
})
// Create a new Command
class PingCommand extends Command {
name = 'ping'
execute(ctx: CommandContext) {
ctx.message.reply(`pong! Ping: ${ctx.client.ping}ms`)
}
}
client.commands.add(PingCommand)
// Connect to gateway
// Replace with your bot's token and intents (Intents.All, Intents.None, Intents.Presence, Intents.GuildMembers)
client.connect('super secret token comes here', Intents.All)
Docs
Not made yet.
Found a bug or want support? Join our discord server!
Maintainer
Contributing
Pull Requests are accepted.
Small note: If editing the README, please conform to the standard-readme specification.