darkob¶
Fast, stable async Python for the Rubika & Shad platforms. Build bots and userbots that stay up — without the boilerplate.
Writing a bot with an AI assistant? Give it one URL
https://manitheferfri.github.io/darkob/llms-full.txt — this single file contains the complete public API with real signatures, the full filter catalogue, working patterns and the mistakes to avoid. Tell the model: "read this URL fully, then build me a bot that does X." Nothing else is required.
Prefer structured data? api.json has every method as JSON.
30 seconds to a working bot¶
from darkob import Bot
bot = Bot(token="YOUR_BOT_TOKEN")
@bot.on_command("start")
async def start(bot, event):
await event.reply("Welcome 👋")
bot.run()
Start here¶
| If you want to… | Read |
|---|---|
| Install and run something in 5 minutes | Quickstart |
| Understand handlers, filters and decorators | Handlers · Filters |
| Split a bot into modules | Routers |
| Build a multi-step conversation | Conversations (FSM) |
| Handle failures properly | Errors |
| Drive a real user account | API: Messenger |
| Write bots with an AI assistant | AI workflow |
| Look up a method signature | API: Bot · API: Messenger |
Built for AI-assisted development¶
Most darkob bots are written by an AI assistant, so the documentation is designed to be read by a model, not just by a human:
llms.txt— a curated map of the docs, in thellms.txtformat.llms-full.txt— the entire documentation in one file, ready to paste into a context window.api.json— every public method as structured JSON: name, signature, module, docstring. Machine-readable, no parsing.- Every page is also served as raw Markdown — append
.mdto any page URL instead of.html. - The API reference is generated from the installed package, so a signature in the docs cannot disagree with the signature at runtime.
See AI workflow for the recommended prompts, and Recipes for task-shaped examples you can hand to a model.
Why darkob¶
darkob is a fork of maxrubika, rebuilt around foundations that do not quietly fail.
| Inherited problem | What darkob does |
|---|---|
| Contacted PyPI at import time | Importing performs no network I/O |
| TLS verification disabled | Verification is on by default |
Bare except: swallowed KeyboardInterrupt |
Narrowed and logged |
| Every event scanned all handlers | Indexed dispatch |
| Retries multiplied per endpoint | Bounded attempt budget |
| A new TLS handshake per file download | Pooled sessions |
See Migrating from maxrubika for the complete list of behavioural differences.