/NovaGram

An Object-Oriented PHP library for Telegram Bots

Primary LanguagePHPMIT LicenseMIT

NovaGram

GitHub license GitHub stars Version Total Downloads Total Downloads

An elegant, Object-Oriented, reliable PHP Telegram Bot Library
Full DocumentationPublic support group

v1.9 has been released: check changelog here

Example

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 docs.novagram.ga');
});

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 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://novagram.ga/phar', 'novagram.phar');
}
require_once 'novagram.phar';

More info in the Documentation