Build on
Harmony
Create bots, build plugins, and self-host your own instance. Harmony is designed to be developer-friendly from the ground up.
Discord-Compatible Bot API
Familiar Gateway and REST API patterns. Migrate existing bots with minimal changes.
Plugin System
Extend Harmony with custom plugins. Add integrations, features, and automations.
Discord Bridge
Connect Discord and Harmony servers. Sync messages, users, and more.
Self-Hosting
Deploy your own instance with Docker. Full control, full customization.
Bot API
Our Bot API follows Discord's patterns, making it easy to port existing bots or start fresh with familiar concepts. WebSocket Gateway for real-time events, REST API for commands and data.
- Gateway EventsMESSAGE_CREATE, PRESENCE_UPDATE, GUILD_MEMBER_ADD, and more
- REST EndpointsFull CRUD for messages, channels, servers, and users
- Rich PresenceShow activity status, custom statuses, and more
- Slash CommandsRegister and respond to slash commands
import { Client, GatewayIntentBits } from 'harmony.js';
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
]
});
client.on('messageCreate', (message) => {
if (message.content === '!ping') {
message.reply('Pong! 🏓');
}
});
client.login('YOUR_BOT_TOKEN');Plugin System
Extend Harmony's functionality with plugins. The plugin system provides hooks into core features, allowing you to add custom commands, integrations, and automations.
- Event HooksSubscribe to message, user, and server events
- Custom CommandsRegister new slash commands and message commands
- Database AccessRead and write to Supabase through typed APIs
- Federation HooksIntercept and transform ActivityPub activities
Discord Bridge Plugin
The Discord Bridge plugin syncs messages between Discord and Harmony servers, allowing gradual migration without leaving anyone behind. Configure channels, map users, and sync seamlessly.
discord:
token: "YOUR_DISCORD_BOT_TOKEN"
guild_id: "123456789"
harmony:
url: "https://har.mony.lol"
server_id: "your-server-uuid"
channels:
- discord: "general"
harmony: "general"
- discord: "announcements"
harmony: "news"
sync:
attachments: true
embeds: true
reactions: trueSelf-Hosting
Deploy your own Harmony instance with Docker Compose. Our architecture uses Supabase for the database and real-time features, with a separate Node.js backend for ActivityPub federation.
git clone https://github.com/y4my4my4m/harmony/harmonycp .env.example .env && nano .envdocker-compose up -dBuilt With Modern Tech
A clean, maintainable stack that's fun to work with
Ready to build?
Dive into the documentation and start creating with Harmony.
