All Projects → hearot → pyrubrum

hearot / pyrubrum

Licence: GPL-3.0 license
An intuitive framework for creating Telegram bots.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pyrubrum

nimgram
An MTProto client written in Nim 👑
Stars: ✭ 61 (+84.85%)
Mutual labels:  telegram-api, telegram-client
WTelegramClient
Telegram client API library written 100% in C# and .NET Standard
Stars: ✭ 192 (+481.82%)
Mutual labels:  telegram-api, telegram-client
Telegram-mailer
Web-application for sending messages to list of users. Use several accounts to avoid ban.
Stars: ✭ 28 (-15.15%)
Mutual labels:  telegram-api, telegram-client
Pyrogram
Telegram MTProto API Client Library and Framework in Pure Python for Users and Bots
Stars: ✭ 2,252 (+6724.24%)
Mutual labels:  telegram-api, pyrogram
telegram client
library for help you make userbot or bot telegram and support tdlib telegram database and only support nodejs dart and google-apps-script
Stars: ✭ 38 (+15.15%)
Mutual labels:  telegram-api, telegram-client
ilovepdf
Telegram Bot that helps you to convert Images to pdf, pdf to images, 45+ file formats to pdf, more features Soon..
Stars: ✭ 140 (+324.24%)
Mutual labels:  telegram-api, pyrogram
Soft-Decision-Tree
PyTorch Implementation of "Distilling a Neural Network Into a Soft Decision Tree." Nicholas Frosst, Geoffrey Hinton., 2017.
Stars: ✭ 67 (+103.03%)
Mutual labels:  tree
NoPMsBot
https://telegram.dog/ShriMADhaBot
Stars: ✭ 127 (+284.85%)
Mutual labels:  pyrogram
vue2-data-tree
A tree that data is lazy loaded. Support dragging node, checking node, editing node's name and selecting node.
Stars: ✭ 41 (+24.24%)
Mutual labels:  tree
performant-array-to-tree
Converts an array of items with ids and parent ids to a nested tree in a performant O(n) way. Runs in browsers and Node.js.
Stars: ✭ 193 (+484.85%)
Mutual labels:  tree
bactmap
A mapping-based pipeline for creating a phylogeny from bacterial whole genome sequences
Stars: ✭ 36 (+9.09%)
Mutual labels:  tree
ngx-tree
A derived version of angular-tree-component without mobx, better performance.
Stars: ✭ 13 (-60.61%)
Mutual labels:  tree
Mega.nz-Bot
Simple Telegram Bot to Download and Upload Files From Mega.nz
Stars: ✭ 243 (+636.36%)
Mutual labels:  pyrogram
telresender
A Telegram bot, which resend your message to another account
Stars: ✭ 22 (-33.33%)
Mutual labels:  telegram-api
rust-lapper
Rust implementation of a fast, easy, interval tree library nim-lapper
Stars: ✭ 39 (+18.18%)
Mutual labels:  tree
js-symbol-tree
Turn any collection of objects into its own efficient tree or linked list using Symbol
Stars: ✭ 86 (+160.61%)
Mutual labels:  tree
Channel-Message-Editor
A telegram channel message editor bot.
Stars: ✭ 21 (-36.36%)
Mutual labels:  pyrogram
react-tree
Hierarchical tree component for React in Typescript
Stars: ✭ 174 (+427.27%)
Mutual labels:  tree
SophiaBot
Hi There ✋ I'M Sophia 3.0 ❤️ NEW VERSION OF SOPHIA.. Source Code of @SophiaSLBot.
Stars: ✭ 44 (+33.33%)
Mutual labels:  pyrogram
filterCSV
Tools to manipulate CSV files in a format suitable for importing into various mindmapping programs - such as iThoughts, Freemind, and MindNode.
Stars: ✭ 29 (-12.12%)
Mutual labels:  tree

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.
  • IlhomBahoraliev/pyromenu for letting me understand that an object-oriented library would make the difference in developing this project.

Branding

See hearot/pyrubrum-assets.

Copyright & License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].