nutgram/nutgram

The Telegram bot library that doesn't drive you nuts

Fund package maintenance!
SergiX44
Lukasss93

Installs: 63 857

Dependents: 7

Suggesters: 0

Security: 0

Stars: 510

Watchers: 11

Forks: 57

Open Issues: 3

4.27.1 2024-10-04 19:12 UTC

README

SWUbanner

API Latest Version on Packagist PHP License

Packagist Downloads Packagist Downloads GitHub Issues GitHub Pull Requests

Test Suite Maintainability Test Coverage

Documentation Laravel Symfony

The Telegram bot framework that doesn't drive you nuts.

This framework takes advantage of the latest PHP 8.2 features, and tries to make the speed, scalability and flexibility of use its strength, it will allow you to quickly make simple bots, but at the same time, it provides more advanced features to handle even the most complicated flows.

<?php

use SergiX44\Nutgram\Nutgram;

$bot = new Nutgram($_ENV['TOKEN']);

$bot->onCommand('start', function(Nutgram $bot) {
    $bot->sendMessage('Ciao!');
});

$bot->onText('My name is {name}', function(Nutgram $bot, string $name) {
    $bot->sendMessage("Hi $name");
});

$bot->run();

🚀 Installation

You can install the package via composer:

composer require nutgram/nutgram

Looking for a Laravel or Symfony integration? Check out Nutgram Laravel and Nutgram Symfony Bundle.

👓 Usage

Official Documentation on https://nutgram.dev/

🧩 Features

  • Latest PHP 8.2 features
  • Framework agnostic
  • Framework integrations (Laravel and Symfony)
  • Cache system (you can use your own cache system that implements PSR-16 CacheInterface)
  • Logging system (you can use your own logger that implements PSR-3 LoggerInterface)
  • Flexible update processing
  • Supports all types and methods according to the last Telegram Bot API update
  • Handlers system
  • Middleware system
  • Grouping system to apply middleware and scopes to multiple handlers
  • Auto-registration of bot commands with scope support
  • Helpers for common tasks and proxy methods for a shorter syntax
  • Storage system for global and user data
  • Enhanced keyboard management
  • Conversations system
  • InlineMenu class for easy creation of inline menu messages
  • Extend Nutgram class and Telegram types with user-created methods
  • Bulk message sending
  • Chunked message sending
  • Using enums where possible
  • Customizable error handling
  • Web Validation
  • Testing system
  • Deep Link helper class

🔰 Supported versions

✨ Projects with this library

Is your project using Nutgram? Let us know, feel free to add yours!

⚗️ Testing

composer test

📃 Changelog

Please see CHANGELOG for more information on what has changed recently.

🏅 Credits

📖 License

The MIT License (MIT). Please see License File for more information.