diff --git a/README.md b/README.md index 5a8d35d..8b281f2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,86 @@ -# LibBotUniversal +

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 +* dev - Dependencies for package development purposes + +You can freely choose any sub-package you want, as well as add multiple (comma-separated) or none at all. + +```shell +# 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 + +```python +from libbot.pyrogram import PyroClient + +def main(): + client = PyroClient(scheduler=scheduler) + + try: + client.run() + except KeyboardInterrupt: + print("Shutting down...") + finally: + if client.scheduler is not None: + client.scheduler.shutdown() + exit() + + +if __name__ == "__main__": + main() +``` + +### Pycord + +```python +from discord import Intents +from libbot import sync +from libbot.pycord import PycordBot + + +async def main(): + intents = Intents.default() + bot = PycordBot(intents=intents) + + bot.load_extension("cogs") + + try: + await bot.start(sync.config_get("bot_token", "bot")) + except KeyboardInterrupt: + logger.warning("Shutting down...") + await bot.close() + + +if __name__ == "__main__": + loop = 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. diff --git a/pyproject.toml b/pyproject.toml index 237b193..c9f761f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,11 +9,11 @@ authors = [{ name = "Profitroll" }] description = "Universal bot library with functions needed for basic Discord/Telegram bot development." readme = "README.md" requires-python = ">=3.8" -license = { file = "LICENSE" } +license = { text = "GPLv3" } classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9",