Skip to main content

An intuitive framework for creating Telegram bots

Project description

Pyrubrum
An intuitive framework for creating Telegram bots.
Create your own bot in less than 100 lines!

Channel: @pyrubrum Developer: @hearot License: GPLv3

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
  • Complete documentation
  • Custom styles for inline keyboards
  • Database integration
  • Fast & optimized using MTProto jointly with Pyrogram
  • 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.

Versioning

See PEP 440.

Thanks

  • veggero/tytg for giving me the idea of developing a simple framework with which you can code a folder-like bot.
  • bakhoraliev for letting me understand that an object-oriented library would make the difference in developing this project.

Branding

See hearot/pyrubrum-assets.

Copyright & License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrubrum-continued-0.2.22.tar.gz (54.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrubrum_continued-0.2.22-py3-none-any.whl (69.1 kB view details)

Uploaded Python 3

File details

Details for the file pyrubrum-continued-0.2.22.tar.gz.

File metadata

  • Download URL: pyrubrum-continued-0.2.22.tar.gz
  • Upload date:
  • Size: 54.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for pyrubrum-continued-0.2.22.tar.gz
Algorithm Hash digest
SHA256 b3d8a2261e9c5f28d7b2d74c689d747e6419782763448a30e9c93b763600560f
MD5 9a7236ab84d50728cd6c4cdad286c8fe
BLAKE2b-256 d4fa44bda07dac5a9b9a3e3a35edff81c394d86bbb60b0ff0bf33fc97c44c942

See more details on using hashes here.

File details

Details for the file pyrubrum_continued-0.2.22-py3-none-any.whl.

File metadata

File hashes

Hashes for pyrubrum_continued-0.2.22-py3-none-any.whl
Algorithm Hash digest
SHA256 ad6d5b880a44978f9ac8af2be0d04679f26b309d679c441e90b04ec327fc654d
MD5 552bd6d0205556798837c8f5baf05a80
BLAKE2b-256 6029915b0593ba21827da0cfa29dfa7848f3993e6e4b0de7de06195b4d02ddac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page