A modern and maintainable Discord bot framework for Python.
Project description
Botato
A modern, minimal, and well-documented Discord bot framework for Python. Built to fix everything the others got wrong.
📝 Table of Contents
😮 About
Botato is a Discord bot framework designed for developers who want clarity, simplicity, and reliability. Where other frameworks suffer from outdated docs, bloated abstractions, and lack of transparency, Botato provides a modern, well-typed, extensible alternative.
It includes a dynamic Gateway client, a fast REST API wrapper, JSON-driven intent management, and typed data models powered by Pydantic.
🏁 Getting Started
These instructions will get you a copy of the project up and running locally for development and testing.
Prerequisites
- Python 3.10+
- Poetry (https://python-poetry.org/docs/)
- A Discord bot token
Installing
Clone the repo and install dependencies:
poetry install
Activate the environment:
poetry env activate
Run the example bot:
DISCORD_TOKEN=your-token-here poetry run python examples/basic_bot.py
🔧 Running the tests
To run the test suite:
poetry run pytest
🎈 Usage
Register events with decorators:
@bot.event
async def on_message_create(data):
print(data["content"])
🚀 Deployment
For production usage, you can use a process manager like systemd, supervisord, or pm2 (for cross-platform Python apps).
Make sure to secure your token using environment variables or secret managers.
⛏️ Built Using
- Python - Language
- aiohttp - Async HTTP client
- websockets - Gateway support
- pydantic - Data validation
- loguru - Logging
✍️ Authors
- @shivkun - Project lead and developer
🎉 Acknowledgements
- Discord API team & community docs
- discord.py for inspiration (and showing us what not to do)
- Contributors and early testers
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file botato-0.1.0.tar.gz.
File metadata
- Download URL: botato-0.1.0.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b1b6e8c5c90bcd86e0c17e8bf80cdb76a299b49d924fdaecfd33f80d86fcfb8
|
|
| MD5 |
ebcd3a5e1a0c547ee028224d5382ec0c
|
|
| BLAKE2b-256 |
0d7fe77566ac2d0d9eb9ae9204e17379fc692d7fe16e5c490c6ef4d73a7e1adb
|
File details
Details for the file botato-0.1.0-py3-none-any.whl.
File metadata
- Download URL: botato-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02d5989490149e24b8b2bc1ede85a3b09dfe2a664488cc1c8e17391e752ee959
|
|
| MD5 |
b000fa08746f10bc5e210778bbfb2a02
|
|
| BLAKE2b-256 |
0e71d12c76cd10eb706555ab711831307fc0e9b04652176a736a311be54423f0
|