Multi-platform bot framework for the eXonware ecosystem
Project description
xwbots
Multi-platform bot framework. Single API for Telegram, Discord, Slack; commands, lifecycle, crash recovery; integration with xwstorage, xwauth, xwentity, xwaction, xwai. Per project docs.
Full features and examples: README_LONG.md.
Company: eXonware.com · Author: eXonware Backend Team · Email: connect@exonware.com
📦 Install
pip install exonware-xwbots
# Optional: [lazy] or [full]
pip install exonware-xwbots[lazy]
pip install exonware-xwbots[full]
🚀 Quick start
For Telegram, use xwchat directly (xwbots does not ship a platform adapter; xwchat owns the transport):
from exonware.xwchat import Telegram as TelegramChatProvider
provider = TelegramChatProvider(api_token="your-telegram-key")
provider.set_message_handler(lambda ctx: "Hello!") # or wire an XWBotCommand
import asyncio
asyncio.run(provider.start_listening())
See examples/ for Karizma and Parrot bots that wire xwchat + command handlers.
✨ What you get
| Area | What's in it |
|---|---|
| Platforms | Telegram via xwchat (use xwchat's provider directly; see examples). |
| Commands | Command framework; xwaction integration; role-based access (xwauth). |
| Lifecycle | Start, stop, restart; crash recovery. |
| Ecosystem | xwstorage, xwauth, xwentity, xwaction, xwai. |
🛠️ Development (editable xwchat)
XWBots uses xwchat for Telegram. To work on both with live changes:
-
Recommended (exonware repo): From repo root, run the shared venv script so the xwbots
.venvgets all xw libs (including xwchat) in editable mode:python scripts/venvs/setup_venvs.py --packages-only
Then activate
xwbots/.venvand use it; xwchat will be installed as-e ../xwchat. -
If you created xwbots' venv manually: Ensure xwchat is editable in the current environment:
# From exonware repo root or from xwbots python xwbots/scripts/ensure_editable_xwchat.py
📖 Docs and tests
- Start: docs/INDEX.md or docs/.
- Tests: Run from project root per project layout.
📜 License and links
MIT — see LICENSE. Homepage: https://exonware.com · Repository: https://github.com/exonware/xwbots
⏱️ Async Support
- xwbots includes asynchronous execution paths in production code.
- Source validation: 56 async def definitions and 28 await usages under src/.
- Use async APIs for I/O-heavy or concurrent workloads to improve throughput and responsiveness.
Version: 0.0.1.11 | Updated: 18-Apr-2026
Built with ❤️ by eXonware.com - Revolutionizing Python Development Since 2025
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 exonware_xwbots-0.0.1.11.tar.gz.
File metadata
- Download URL: exonware_xwbots-0.0.1.11.tar.gz
- Upload date:
- Size: 37.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a089a8fad278f4e63191d8f72d7563025fb881650122b34a33522f58669cc7ff
|
|
| MD5 |
f0598c2d314429db508866f8ff84f8f8
|
|
| BLAKE2b-256 |
018bfb437a0885359a0207414f8f67a9915ee045901d28f0b5674d8a0ac23a4f
|
File details
Details for the file exonware_xwbots-0.0.1.11-py3-none-any.whl.
File metadata
- Download URL: exonware_xwbots-0.0.1.11-py3-none-any.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a783ffe070993625ad056d5b7250890ca10892eaf0e7fa725ea748bacbf3719
|
|
| MD5 |
bd8dd88020fada9671100d7edd86bfd2
|
|
| BLAKE2b-256 |
0b43abd1861980649badd5aacedfe48aab4d796004fa6b9d0372800c5f3c6c07
|