profitroll Partially verified c9bfdb0eca
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
Merge pull request 'Update dependency ujson to v6' (#322) from renovate/ujson-6.x into dev
Reviewed-on: #322
c9bfdb0eca · 2026-09-04 18:12:40 +03:00
579 Commits
2026-08-02 16:17:57 +02:00
2026-08-02 18:13:19 +02:00
2026-08-16 23:06:33 +02:00
2023-05-11 20:52:10 +03:00
2026-08-16 21:45:11 +02:00
2026-06-24 11:09:09 +02:00

LibBotUniversal

PyPI - License Gitea Release PyPI - Python Version Code style: black

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.

S
Description
Library with functions for basic Discord/Telegram bot development
https://libbot.end-play.xyz Readme GPL-3.0
953 KiB
v5.0.0
Latest
2026-08-17 00:36:48 +03:00
Languages
Python 100%