A Discord framework that upgrades your bot without rewriting it. Change one line, get production-ready features instantly.
import discord bot = discord.Client( intents=discord.Intents.default() ) @bot.command() async def ping(ctx): await ctx.send("Pong!") bot.run("TOKEN")
import sosad.compat as discord bot = discord.Bot( intents=discord.Intents.default() ) @bot.command(name="ping") async def ping(ctx): await ctx.send("Pong!") bot.run("TOKEN")
Just change the import. Everything else is automatic.
Per-route bucket tracking. Never see HTTP 429 again.
Typed exceptions, catch handlers, graceful recovery.
Auto-resolve from type annotations. No inject() needed.
Pipeline middleware, not before/after events.
Drop files in plugins/. Done.
Every request logged with timing and context.
Build components dynamically, not with decorators.
class Config(sosad.Settings) + auto .env loading.
Same code. Better backend.
| Feature | discord.py | SoSad |
|---|---|---|
| Rate Limiting | Manual | ✓ Auto |
| Error Handling | try/except | ✓ Pipeline |
| Dependency Injection | None | ✓ FastAPI-style |
| Middleware | Before/After | ✓ ASGI Pipeline |
| Plugins | Manual load | ✓ Auto-discover |
| Type Safety | Partial | ✓ Full strict |
| Config | Manual .env | ✓ Settings class |
| Components | Class Views | ✓ Builders |