<p align="center">
<a href="https://github.com/hearot/pyrubrum">
<img src="https://i.imgur.com/gfkh9bR.png" alt="Pyrubrum" width="600"/>
</a>
<br>
<b>An intuitive framework for creating Telegram bots.</b>
<br>
<i>Create your own bot in less than 100 lines!</i>
<br>
<br>
<a href="https://t.me/pyrubrum">
<img src="https://img.shields.io/badge/Channel-@pyrubrum-red.svg" alt="Channel: @pyrubrum"/>
</a>
•
<a href="https://t.me/hearot">
<img src="https://img.shields.io/badge/Developer-@hearot-blue.svg" alt="Developer: @hearot"/>
</a>
•
<a href="https://github.com/hearot/pyrubrum/blob/master/LICENSE">
<img src="https://img.shields.io/badge/License-GPLv3-green.svg" alt="License: GPLv3"/>
</a>
</p>
## Pyrubrum
```python
from pyrogram import Client
from pyrubrum import Handler, Menu, transform
bot = Client(...)
handler = Handler(transform(
{
Menu("Start", "start", "Hello!", default=True): [
Menu("About me", "about_me", "I'm just a bot!"),
Menu("Thoughts", "thoughts",
"I'm a bot, I cannot think properly..."),
]
}
))
handler.setup(bot)
bot.run()
```
**Pyrubrum** ([*/ˈpaɪɹˈuːbɹəm/*](http://ipa-reader.xyz/?text=%CB%88pa%C9%AA%C9%B9%CB%88u%CB%90b%C9%B9%C9%99m&voice=Russell)) is a versatile, charming framework for creating [Telegram bots](https://core.telegram.org/bots), jointly with [Pyrogram](https://github.com/pyrogram/pyrogram).
### Features
- Automatic [deep-link](https://core.telegram.org/bots#deep-linking) generation with `DeepLinkMenu`
- Built-in support for [Redis](https://redis.io/)
- [Complete documentation](https://pyrubrum.readthedocs.io/)
- Custom styles for inline keyboards
- Database integration
- Fast & optimized using [MTProto](https://core.telegram.org/mtproto) jointly with [Pyrogram](https://github.com/pyrogram/pyrogram)
- Fully encrypted parameters
- Intuitive creation of inline keyboards
- LRU caching with [functools.lru_cache](https://docs.python.org/3/library/functools.html#functools.lru_cache)
- Native support for the *"Go back"* button
- No limit for `callback_data` (see [Telegram Bot API](https://core.telegram.org/bots/api#inlinekeyboardbutton))
- Paging integration with `PageMenu`
### Examples
In order to make use of the proposed examples, you need to create your own environment file by renaming [sample.env](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/sample.env) into `.env` and editing all the necessary variables.
- [Café](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/cafe_bot.py) - Get an overview of the design which lies inside Pyrubrum while interacting with multiple commands and pages.
- [Calendar](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/calendar_bot.py) - Get what day of the week a day is by simply choosing a year, a month and a day while discovering the potential of Pyrubrum page menus.
- [Hitchhiker](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/hitchhiker_bot.py) - Come to know how media are handled with Pyrubrum and...[get an existential question answered](https://en.wikipedia.org/wiki/Phrases_from_The_Hitchhiker%27s_Guide_to_the_Galaxy#The_Answer_to_the_Ultimate_Question_of_Life,_the_Universe,_and_Everything_is_42).
- [Sample](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/sample_bot.py) - Interact with inline menus while understanding how Pyrubrum works.
### Changelog
> See [CHANGELOG.md](https://github.com/hearot/pyrubrum/blob/v0.2.22/CHANGELOG.md).
> Find new features in [FEATURES.md](https://github.com/hearot/pyrubrum/blob/v0.2.22/FEATURES.md).
### Commit messages
> See [Conventional Commits](https://www.conventionalcommits.org).
### Contributing
> See [CONTRIBUTING.md](https://github.com/hearot/pyrubrum/blob/v0.2.22/CONTRIBUTING.md).
### Versioning
> See [PEP 440](https://www.python.org/dev/peps/pep-0440/).
### Thanks
- [veggero/tytg](https://github.com/veggero/tytg) for giving me the idea of developing a simple framework with which you can code a folder-like bot.
- [bakhoraliev](https://github.com/bakhoraliev) for letting me understand that an object-oriented library would make the difference in developing this project.
### Branding
> See [hearot/pyrubrum-assets](https://github.com/hearot/pyrubrum-assets).
### Copyright & License
- Copyright (C) 2020 [Hearot](https://github.com/hearot).
- Licensed under the terms of the [GNU General Public License v3 (GPLv3)](https://github.com/hearot/pyrubrum/blob/v0.2.22/LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/hearot/pyrubrum",
"name": "pyrubrum-continued",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "bot bots chat messenger mtproto pyrogram python telegram",
"author": "Hearot",
"author_email": "gabriel@hearot.it",
"download_url": "https://files.pythonhosted.org/packages/d4/fa/44bda07dac5a9b9a3e3a35edff81c394d86bbb60b0ff0bf33fc97c44c942/pyrubrum-continued-0.2.22.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://github.com/hearot/pyrubrum\">\n <img src=\"https://i.imgur.com/gfkh9bR.png\" alt=\"Pyrubrum\" width=\"600\"/>\n </a>\n <br>\n <b>An intuitive framework for creating Telegram bots.</b>\n <br>\n <i>Create your own bot in less than 100 lines!</i>\n <br>\n <br>\n <a href=\"https://t.me/pyrubrum\">\n <img src=\"https://img.shields.io/badge/Channel-@pyrubrum-red.svg\" alt=\"Channel: @pyrubrum\"/>\n </a>\n \u2022\n <a href=\"https://t.me/hearot\">\n <img src=\"https://img.shields.io/badge/Developer-@hearot-blue.svg\" alt=\"Developer: @hearot\"/>\n </a>\n \u2022\n <a href=\"https://github.com/hearot/pyrubrum/blob/master/LICENSE\">\n <img src=\"https://img.shields.io/badge/License-GPLv3-green.svg\" alt=\"License: GPLv3\"/>\n </a>\n</p>\n\n## Pyrubrum\n\n```python\nfrom pyrogram import Client\nfrom pyrubrum import Handler, Menu, transform\n\nbot = Client(...)\n\nhandler = Handler(transform(\n {\n Menu(\"Start\", \"start\", \"Hello!\", default=True): [\n Menu(\"About me\", \"about_me\", \"I'm just a bot!\"),\n Menu(\"Thoughts\", \"thoughts\",\n \"I'm a bot, I cannot think properly...\"),\n ]\n }\n))\n\nhandler.setup(bot)\nbot.run()\n```\n\n**Pyrubrum** ([*/\u02c8pa\u026a\u0279\u02c8u\u02d0b\u0279\u0259m/*](http://ipa-reader.xyz/?text=%CB%88pa%C9%AA%C9%B9%CB%88u%CB%90b%C9%B9%C9%99m&voice=Russell)) is a versatile, charming framework for creating [Telegram bots](https://core.telegram.org/bots), jointly with [Pyrogram](https://github.com/pyrogram/pyrogram).\n\n### Features\n\n - Automatic [deep-link](https://core.telegram.org/bots#deep-linking) generation with `DeepLinkMenu`\n - Built-in support for [Redis](https://redis.io/)\n - [Complete documentation](https://pyrubrum.readthedocs.io/)\n - Custom styles for inline keyboards\n - Database integration\n - Fast & optimized using [MTProto](https://core.telegram.org/mtproto) jointly with [Pyrogram](https://github.com/pyrogram/pyrogram)\n - Fully encrypted parameters\n - Intuitive creation of inline keyboards\n - LRU caching with [functools.lru_cache](https://docs.python.org/3/library/functools.html#functools.lru_cache)\n - Native support for the *\"Go back\"* button\n - No limit for `callback_data` (see [Telegram Bot API](https://core.telegram.org/bots/api#inlinekeyboardbutton))\n - Paging integration with `PageMenu`\n\n### Examples\n\nIn order to make use of the proposed examples, you need to create your own environment file by renaming [sample.env](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/sample.env) into `.env` and editing all the necessary variables.\n\n - [Caf\u00e9](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/cafe_bot.py) - Get an overview of the design which lies inside Pyrubrum while interacting with multiple commands and pages.\n - [Calendar](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/calendar_bot.py) - Get what day of the week a day is by simply choosing a year, a month and a day while discovering the potential of Pyrubrum page menus.\n - [Hitchhiker](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/hitchhiker_bot.py) - Come to know how media are handled with Pyrubrum and...[get an existential question answered](https://en.wikipedia.org/wiki/Phrases_from_The_Hitchhiker%27s_Guide_to_the_Galaxy#The_Answer_to_the_Ultimate_Question_of_Life,_the_Universe,_and_Everything_is_42).\n - [Sample](https://github.com/hearot/pyrubrum/blob/v0.2.22/examples/sample_bot.py) - Interact with inline menus while understanding how Pyrubrum works.\n\n### Changelog\n\n> See [CHANGELOG.md](https://github.com/hearot/pyrubrum/blob/v0.2.22/CHANGELOG.md).\n> Find new features in [FEATURES.md](https://github.com/hearot/pyrubrum/blob/v0.2.22/FEATURES.md).\n\n### Commit messages\n\n> See [Conventional Commits](https://www.conventionalcommits.org).\n\n### Contributing\n\n> See [CONTRIBUTING.md](https://github.com/hearot/pyrubrum/blob/v0.2.22/CONTRIBUTING.md).\n\n### Versioning\n\n> See [PEP 440](https://www.python.org/dev/peps/pep-0440/).\n\n### Thanks\n\n - [veggero/tytg](https://github.com/veggero/tytg) for giving me the idea of developing a simple framework with which you can code a folder-like bot.\n - [bakhoraliev](https://github.com/bakhoraliev) for letting me understand that an object-oriented library would make the difference in developing this project.\n\n### Branding\n\n> See [hearot/pyrubrum-assets](https://github.com/hearot/pyrubrum-assets).\n\n### Copyright & License\n\n- Copyright (C) 2020 [Hearot](https://github.com/hearot).\n- Licensed under the terms of the [GNU General Public License v3 (GPLv3)](https://github.com/hearot/pyrubrum/blob/v0.2.22/LICENSE).\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "An intuitive framework for creating Telegram bots",
"version": "0.2.22",
"project_urls": {
"Homepage": "https://github.com/hearot/pyrubrum",
"Source": "https://github.com/hearot/pyrubrum",
"Tracker": "https://github.com/hearot/pyrubrum/issues"
},
"split_keywords": [
"bot",
"bots",
"chat",
"messenger",
"mtproto",
"pyrogram",
"python",
"telegram"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6029915b0593ba21827da0cfa29dfa7848f3993e6e4b0de7de06195b4d02ddac",
"md5": "552bd6d0205556798837c8f5baf05a80",
"sha256": "ad6d5b880a44978f9ac8af2be0d04679f26b309d679c441e90b04ec327fc654d"
},
"downloads": -1,
"filename": "pyrubrum_continued-0.2.22-py3-none-any.whl",
"has_sig": false,
"md5_digest": "552bd6d0205556798837c8f5baf05a80",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 69118,
"upload_time": "2023-11-08T01:43:38",
"upload_time_iso_8601": "2023-11-08T01:43:38.271728Z",
"url": "https://files.pythonhosted.org/packages/60/29/915b0593ba21827da0cfa29dfa7848f3993e6e4b0de7de06195b4d02ddac/pyrubrum_continued-0.2.22-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d4fa44bda07dac5a9b9a3e3a35edff81c394d86bbb60b0ff0bf33fc97c44c942",
"md5": "9a7236ab84d50728cd6c4cdad286c8fe",
"sha256": "b3d8a2261e9c5f28d7b2d74c689d747e6419782763448a30e9c93b763600560f"
},
"downloads": -1,
"filename": "pyrubrum-continued-0.2.22.tar.gz",
"has_sig": false,
"md5_digest": "9a7236ab84d50728cd6c4cdad286c8fe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 54100,
"upload_time": "2023-11-08T01:43:40",
"upload_time_iso_8601": "2023-11-08T01:43:40.954183Z",
"url": "https://files.pythonhosted.org/packages/d4/fa/44bda07dac5a9b9a3e3a35edff81c394d86bbb60b0ff0bf33fc97c44c942/pyrubrum-continued-0.2.22.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-08 01:43:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hearot",
"github_project": "pyrubrum",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "pyrubrum-continued"
}