skrtdev / novagram
An Object-Oriented PHP Library for Telegram Bots
Installs: 5 442
Dependents: 1
Suggesters: 0
Security: 0
Stars: 180
Watchers: 5
Forks: 20
Open Issues: 5
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- monolog/monolog: ^2.1
- skrtdev/async: ^1.0
- symfony/polyfill-php80: ^1.22
Suggests
- ext-mbstring: Needed to use the built-in Telegram Entites Parser
- ext-pcntl: Needed to process updates with multi-processing
- ext-pdo: Needed to use the built-in Database
README
NovaGram
An elegant, Object-Oriented, reliable PHP Telegram Bot Library
Full Documentation •
Public support group
Examples •
Features •
Installation
🌟 v1.9 has been released: check changelog here
⚙️ Examples
An example code of a simple bot.
Works with both getUpdates and Webhooks
use skrtdev\NovaGram\Bot; use skrtdev\Telegram\Message; $Bot = new Bot('YOUR_TOKEN'); $Bot->onCommand('start', function (Message $message) { $message->reply('Hey! Nice to meet you. Use /info to know more about me.'); }); $Bot->onCommand('info', function (Message $message) { $message->reply('Well, I\'m just an example, but you can learn more about NovaGram at novagram.gaetano.eu.org'); });
📎 Features
- Full: All the Methods and Types implemented in Bot Api 5.0 (support local Bot Api too)
- Fast: Support for JSON payload, and async handling of updates
- Extendable: With Prototypes, you can add your custom functionalities
- Easy: Exactly like original Bot Api, with many methods simplified in a very nice way
- Ready: You can start creating your amazing bot right now, thanks to many Built-in features, such as Conversations, Entities Parser and getDC
- Secure: When using Webhooks, there is a Built-in Telegram IP Check, that works with Cloudflare too!
Why another PHP library?
I decided to build my own php library for telegram bot api because all the libraries i found on the web made it difficult even to do the simplest things, such as a sendMessage.
NovaGram is built in order to bring a lightweight alternative to make bots, so that it is simple for beginners, but powerful for who already knows how to implement it.
⬇️ Installation
Installation via Composer
Install NovaGram via Composer
composer require skrtdev/novagram ^1.9
After Installation, include NovaGram with:
require 'vendor/autoload.php';
Installation via Phar
Include the phar
file in your bot file:
if (!file_exists('novagram.phar')) { copy('https://gaetano.eu.org/novagram/phar.phar', 'novagram.phar'); } require_once 'novagram.phar';
More info in the Documentation