Download the PHP package dark-people/telegram-bot-plus-sdk without Composer

On this page you can find all versions of the php package dark-people/telegram-bot-plus-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package telegram-bot-plus-sdk

Telegram Bot Plus SDK (Laravel)

Telegram Bot Plus SDK adalah pengembangan dari irazasyed/telegram-bot-sdk

yang menambahkan auto command scan, middleware system, dan runtime pipeline yang lebih terstruktur untuk aplikasi Laravel.

Library ini dirancang untuk:


Listen Reply (Interactive Reply Listener)

Listen Reply adalah fitur untuk “mendengarkan balasan user” sebagai kelanjutan alur percakapan bot, tanpa bergantung pada UI Telegram “reply message”.

Fitur ini bekerja dengan menyimpan state pending (cache-safe) per user, lalu ketika user mengirim pesan berikutnya, sistem akan memutuskan apakah pesan tersebut harus diproses sebagai balasan atau sebagai pesan normal.


Konsep Utama

Scope Pending

State pending disimpan dengan scope:

Sehingga state bersifat:

TTL

Pending state memiliki TTL (default 120s) yang bisa diatur melalui config:

TTL juga bisa di-override ketika pengguna library memanggil API Listen Reply.


Dua Mode Listen Reply

Listen Reply memiliki 2 mode agar alur internal SDK tidak bentrok dengan alur kustom milik pengguna library.

1. Inspector Mode (Owned by SDK)

Inspector Mode dipakai oleh Command Inspector untuk menyelesaikan input command yang belum lengkap.

Dipicu ketika resolver menghasilkan status:

Perilaku:

  1. Sistem menyimpan pending state mode inspector:
    • baseInput (command name, format make:model)
    • args (arg yang sudah terkumpul)
    • options (token option yang sudah terkumpul)
    • next (target yang akan ditanyakan: arg/opt)
  2. Sistem mengirim prompt (multi-language) untuk meminta nilai berikutnya.
  3. Ketika user membalas:
    • sistem menggabungkan balasan user ke args atau membentuk --opt=value
    • sistem membangun ulang command
    • sistem melakukan dispatch ulang melalui jalur CommandBus / runner SDK

Catatan penting:


2. Custom Mode (Owned by Library User)

Custom Mode dipakai oleh pengguna library ketika ingin membuat alur interaktif sendiri (wizard / OTP / konfirmasi, dsb).

Pengguna library mengaktifkan mode ini dengan memanggil:

Perilaku:

  1. Sistem menyimpan pending state mode custom (cache-safe).
  2. Saat user mengirim pesan berikutnya (plain text):
    • sistem meroute pesan tersebut kembali ke command target
    • sistem mengaktifkan ReplyContext (runtime-only)
    • command dapat menangani balasan di method onReply()

Catatan penting:


Deteksi Command vs Plain Text

Sistem menggunakan metadata dari TelegramContext:

Aturan routing:

A. Jika pesan adalah COMMAND

Tujuan:

B. Jika pesan adalah Plain Text


Prompt System (Inspector Mode)

Saat terjadi MISSING_ARGUMENT / MISSING_OPTION, Command Inspector dapat membuat prompt interaktif.

Dictionary Keys

Prompt menggunakan dictionary:

Format contoh:

Prompt Key Rules

Prompt Override per Command

Command dapat meng-override prompt dengan:

Contoh:

Output:

Variable {type} dan {text} selalu tersedia otomatis. Variable lain (contoh {vname}) diambil dari promptVarible dan dapat di-override oleh sistem bila diperlukan.

Catatan Desain

🧭 Console Command Inspector (v4.1+)

Mulai versi v4.1, Telegram Bot Plus SDK menyediakan sistem Console Command Inspector.

Fitur utama:

Multi-language

🔐 Command Authorization

Command Inspector menyediakan fitur authorization untuk mengontrol apakah sebuah command boleh diakses dan dieksekusi oleh user.

Authorization dilakukan dengan menambahkan method static authorize() pada command.

public static function authorize(TelegramUpdateMeta $meta): bool
{
    return $meta->actor()->isAdmin();
}

Kegunaan Authorization

Fitur authorization digunakan untuk:

Perilaku Authorization

Catatan Penting

Dengan mekanisme ini, Command Inspector hanya akan menampilkan dan mengeksekusi command yang relevan dan aman sesuai dengan konteks user.


🧹 Cache Internal & Artisan Command

Semua data internal SDK dicache otomatis:

Untuk membersihkan cache:

Aman dipanggil kapan saja dan tidak mempengaruhi cache aplikasi lain.

✨ Fitur Utama

🔧 Pengembangan

➕ Fitur Tambahan


📦 Instalasi

🚀 Publish config (opsional):

⚙️ Konfigurasi Dasar

File konfigurasi utama: config/telegram.php

Contoh minimal:

🤖 Command Telegram

Membuat Command Baru

File akan dibuat di:

Contoh struktur command:

Auto Register Command

Command tidak akan di-register otomatis kecuali:

⚠️ Catatan penting

autoRegister() dipanggil saat scan/boot:

🧩 Middleware Telegram

Membuat Middleware

File akan dibuat di:

Contoh middleware:

⚙️ Middleware via Konfigurasi (Authoring)

Selain lewat metadata class, middleware juga bisa didaftarkan via config.

1️⃣ Global Middleware

Key: telegram.middleware

2️⃣ Middleware per Bot (STRICT)

Key: telegram.bots.{bot}.middleware

🧠 Compile Result (Internal)

Semua middleware (scan + config) akan di-normalisasi menjadi:

⚠️ middleware_class bukan untuk di-edit manual Ini adalah hasil compile yang dipakai runtime.

🧾 TelegramContext

TelegramContext berisi metadata runtime:

Context ini:

🌐 Webhook Flow

🧰 Facade

Gunakan Facade TelegramBot:

Atau untuk webhook:

TelegramUpdateMeta (Metadata Update Telegram)

Mulai versi v3.1.0, package ini menyediakan TelegramUpdateMeta, yaitu objek metadata hasil analisis dari setiap update Telegram yang masuk.

TelegramUpdateMeta dirancang untuk menjawab pertanyaan seperti:

Objek ini dibuat per update dan di-bind ke Laravel container, sehingga bisa di-consume dengan dependency injection di:

Cara Kerja Singkat

Alur saat update Telegram diproses:

Semua proses ini:

Menggunakan TelegramUpdateMeta

Disarankan menggunakan constructor injection.

Sistem Permission

PermissionCatalog

PermissionCatalog adalah kamus permission Telegram yang berisi:

Class ini tidak melakukan pengecekan, hanya mendefinisikan:

"Permission apa saja yang ada dan bagaimana menjelaskannya ke user."

PermissionResolver & PermissionBag

PermissionResolver menggunakan data dari update Telegram untuk menghasilkan PermissionBag, yang berisi:

PermissionBag dapat diakses melalui:

Catatan Penting

Dengan kata lain:

Meta + Resolver = data
Keputusan = di tangan aplikasi kamu

🏁 Penutup

Telegram Bot Plus SDK dibuat untuk:

Jika kamu butuh fleksibilitas lebih, library ini sengaja dibuat opt-in, bukan otomatis semuanya.

Happy hacking 🚀


All versions of telegram-bot-plus-sdk with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
irazasyed/telegram-bot-sdk Version ^3.0
illuminate/support Version 9 - 12
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package dark-people/telegram-bot-plus-sdk contains the following files

Loading the files please wait ...