dev
Analysis / SonarCloud (push) Successful in 1m27s
Tests / Build and Test (3.12) (push) Successful in 2m28s
Tests / Build and Test (3.11) (push) Successful in 2m31s
Tests / Build and Test (3.13) (push) Successful in 1m54s
Tests / Build and Test (3.14) (push) Successful in 1m51s
Reviewed-on: #322
c9bfdb0eca
·
2026-09-04 18:12:40 +03:00
579 Commits
LibBotUniversal
Handy library for Telegram/Discord bots development.
Getting started
There are different sub-packages available:
- pyrogram - Telegram bots with Pyrogram's fork "Pyrofork"
- pycord - Discord bots with Pycord
- speed - Performance improvements
- cache - Support for Redis and Memcached
- dev - Dependencies for package development purposes
- docs - Zensical and all related dependencies
You can freely choose any sub-package you want, as well as add multiple (comma-separated) or none at all.
# Only general features
pip install libbot
# Only with Pyrogram
pip install libbot[pyrogram]
# With Pycord and Performance improvements
pip install libbot[pycord,speed]
Examples
Pyrogram
import sys
from libbot.pyrogram.classes import PyroClient
def main():
client: PyroClient = PyroClient()
try:
client.run()
except KeyboardInterrupt:
print("Shutting down...")
finally:
sys.exit()
if __name__ == "__main__":
main()
Pycord
import asyncio
from asyncio import AbstractEventLoop
from discord import Intents
from libbot.utils import config_get
from libbot.pycord.classes import PycordBot
async def main():
intents: Intents = Intents.default()
bot: PycordBot = PycordBot(intents=intents)
bot.load_extension("cogs")
try:
await bot.start()
except KeyboardInterrupt:
print("Shutting down...")
await bot.close()
if __name__ == "__main__":
loop: AbstractEventLoop = asyncio.get_event_loop()
loop.run_until_complete(main())
Config examples
For bot config examples please check the examples directory. Without a valid config file, the bot won't start at all, so you need to make sure the correct config file is used.
Documentation
Project documentation and API reference are available as a website.