Skip to content

skrtdev/NovaGram

Repository files navigation



NovaGram

GitHub license GitHub stars Version Total Downloads Total Downloads

An elegant, Object-Oriented, reliable PHP Telegram Bot Library

Full DocumentationPublic support group
ExamplesFeaturesInstallation

🌟 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