Skip to main content

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

Status Python License


📦 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 .venv gets all xw libs (including xwchat) in editable mode:

    python scripts/venvs/setup_venvs.py --packages-only
    

    Then activate xwbots/.venv and 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


📜 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.8 | Updated: 13-Apr-2026

Built with ❤️ by eXonware.com - Revolutionizing Python Development Since 2025

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exonware_xwbots-0.0.1.8.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exonware_xwbots-0.0.1.8-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file exonware_xwbots-0.0.1.8.tar.gz.

File metadata

  • Download URL: exonware_xwbots-0.0.1.8.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for exonware_xwbots-0.0.1.8.tar.gz
Algorithm Hash digest
SHA256 63287b1067c6115bbf8e143b85e8bb1fb0a5da2e1328e03a3069d2373fe852b9
MD5 67ad57f80552b643ae6f990ff3131a0a
BLAKE2b-256 4c7ad8759904008b42f92ecdcc8818992dc796f8f9aee2e66ff183db2c61ade8

See more details on using hashes here.

File details

Details for the file exonware_xwbots-0.0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for exonware_xwbots-0.0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 615b381e9957b2d9ea8f810ca5fda40365fd6e9931c29acdba557a7798a46cc7
MD5 63f7474c1ceac6d7d3b176f50797d311
BLAKE2b-256 b376c0b229908b2a99b24bab25ddc89433548637a7b81759cbfe33aa5cf8a0b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page