LibBotUniversal/README.md

87 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2024-05-19 15:47:07 +03:00
<h1 align="center">LibBotUniversal</h1>
2023-05-11 20:52:10 +03:00
2024-05-19 15:47:07 +03:00
<p align="center">
<a href="https://git.end-play.xyz/profitroll/LibBotUniversal/src/branch/master/LICENSE"><img alt="PyPI - License" src="https://img.shields.io/pypi/l/libbot">
<a href="https://git.end-play.xyz/profitroll/LibBotUniversal/releases/latest"><img alt="Gitea Release" src="https://img.shields.io/gitea/v/release/profitroll/LibBotUniversal?gitea_url=https%3A%2F%2Fgit.end-play.xyz"></a>
<a href="https://pypi.org/project/libbot/"><img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/libbot"></a>
<a href="https://git.end-play.xyz/profitroll/LibBotUniversal"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
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
2024-12-27 01:37:54 +02:00
from libbot.pyrogram.classes import PyroClient
2024-05-19 15:47:07 +03:00
def main():
2024-12-27 01:37:54 +02:00
client: PyroClient = PyroClient()
2024-05-19 15:47:07 +03:00
try:
client.run()
except KeyboardInterrupt:
print("Shutting down...")
finally:
exit()
if __name__ == "__main__":
main()
```
### Pycord
```python
from discord import Intents
2024-12-27 01:37:54 +02:00
from libbot.utils import config_get
from libbot.pycord.classes import PycordBot
2024-05-19 15:47:07 +03:00
async def main():
2024-12-27 01:37:54 +02:00
intents: Intents = Intents.default()
bot: PycordBot = PycordBot(intents=intents)
2024-05-19 15:47:07 +03:00
bot.load_extension("cogs")
try:
2024-12-27 01:37:54 +02:00
await bot.start(config_get("bot_token", "bot"))
2024-05-19 15:47:07 +03:00
except KeyboardInterrupt:
2024-12-27 01:37:54 +02:00
print("Shutting down...")
2024-05-19 15:47:07 +03:00
await bot.close()
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
## Config examples
2024-12-27 01:37:54 +02:00
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.