Skip to content

Aethel-Labs/aethel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Aethel Monorepo

This monorepo includes both the frontend and backend of the Aethel Discord bot.

Node.js

A privacy-conscious, production-ready Discord user-installed bot with AI chat, reminders, and utility commands. Built with Node.js, Discord.js v14, PostgreSQL, and robust security best practices.


Features

  • AI Chat: /ai command with custom API key support (OpenRouter, OpenAI, Grok)
  • Reminders: /remind command for scheduling reminders
  • Utilities: /weather, /wiki, /joke, /cat, /dog, /8ball, /whois
  • Ephemeral Replies for sensitive commands
  • Encrypted API Key Storage (AES-256-GCM)
  • Rate Limiting & Logging
  • Express Status Endpoint for monitoring

Getting Started

1. Clone & Install

git clone https://github.com/aethel-labs/aethel.git
cd bot
bun i

2. Environment Variables

Copy .env.example to .env and fill in the required values:

  • DISCORD_TOKEN (your bot token)
  • DATABASE_URL (Postgres connection string)
  • OPENROUTER_API_KEY (optional, default AI key)
  • API_KEY_ENCRYPTION_SECRET (32+ char secret)
  • STATUS_API_KEY (for status endpoint)
  • ALLOWED_ORIGINS, NODE_ENV, etc.
  • CLIENT_ID (your discord bot id, copy it from the dashboard)

3. Database Migrations

Run all SQL migrations:

bun run scripts/run-migrations.js # or node scripts/run-migrations.js

Usage

  • Start the bot: bun start
  • Add the bot to your account and use /ai, /remind, etc.
  • Use /ai use_custom_api:true to set your own API key (encrypted)

Privacy & Security

  • No plaintext API keys stored or logged
  • User data is encrypted and can be deleted by user command
  • No data sold or shared with third parties
  • See https://aethel.xyz/legal/privacy for full policy

Contributing

  • PRs welcome! Open issues for bugs/feature requests.
  • Follow code style (ESLint, Prettier).
  • Add tests for new features.

License

This project is licensed under the MIT License.

See LICENSE for details.

Usage

  • Use /ai for AI chat, with optional custom API key for private usage
  • Use /remind to schedule reminders
  • Use utility commands: /weather, /wiki, /joke, /cat, /dog, /8ball, /whois
  • Sensitive commands use ephemeral replies for privacy
  • Use /ai use_custom_api:true to set your own (encrypted) API key

Requirements

  • Node.js 16.9.0 or higher
  • Discord.js 14.11.0

🌐 Translations & Localization

Aethel supports multiple languages! You can help improve or add new translations for the bot.

Supported Languages

  • English (en-US) English translation status
  • Spanish (es-ES) Spanish translation status
  • Spanish (Latin America) (es-419) Spanish (Latin America) translation status
  • German (de-DE) German translation status
  • French (fr-FR) French translation status
  • Portuguese (Brazil) (pt-BR) Portuguese (Brazil) translation status
  • Japanese (ja) Japanese translation status

Contribute a Translation

We use Weblate for collaborative translation. Anyone can contribute:

  • Visit the Aethel Weblate project
  • Sign in or register (free)
  • Pick your language and start translating or reviewing existing translations

Your help makes Aethel accessible to more people around the world!

Translation status

About

Aethel Bot OSS repository!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors 7