An intuitive framework for creating Telegram bots.
Create your own bot in less than 100 lines!
•
•
Pyrubrum¶
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/*) is a versatile, charming framework for creating Telegram bots, jointly with Pyrogram.
Features¶
Automatic deep-link generation with
DeepLinkMenu
Built-in support for Redis
Custom styles for inline keyboards
Database integration
Fully encrypted parameters
Intuitive creation of inline keyboards
LRU caching with functools.lru_cache
Native support for the “Go back” button
No limit for
callback_data
(see Telegram Bot API)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 into .env
and editing all the necessary variables.
Café - Get an overview of the design which lies inside Pyrubrum while interacting with multiple commands and pages.
Calendar - 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 - Come to know how media are handled with Pyrubrum and…get an existential question answered.
Sample - Interact with inline menus while understanding how Pyrubrum works.
Changelog¶
See CHANGELOG.md. Find new features in FEATURES.md.
Commit messages¶
See Conventional Commits.
Contributing¶
See CONTRIBUTING.md.
Thanks¶
veggero/tytg for giving me the idea of developing a simple framework with which you can code a folder-like bot.
IlhomBahoraliev/pyromenu for letting me understand that an object-oriented library would make the difference in developing this project.
Branding¶
Copyright & License¶
Copyright (C) 2020 Hearot.
Licensed under the terms of the GNU General Public License v3 (GPLv3).