koyabu/telegramapi

Telegram API Client

Installs: 5

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/koyabu/telegramapi

dev-main 2025-11-28 08:10 UTC

This package is auto-updated.

Last update: 2025-11-28 08:10:53 UTC


README

koyabu/telegramapi adalah library PHP sederhana dan fleksibel untuk berkomunikasi dengan Telegram Bot API, mendukung pengiriman pesan, media, webhook, update, dan berbagai fitur Telegram lainnya.

Library ini dibangun menggunakan GuzzleHttp sebagai HTTP client.

๐Ÿš€ Fitur Utama

  • Mengirim pesan text
  • Mengirim photo, video, audio, document, voice
  • Mengirim album (media group)
  • Edit message
  • Delete message
  • Mendapatkan update (long polling)
  • Mengatur webhook (setWebhook / deleteWebhook)
  • Mendapatkan file & membuat URL unduhan
  • Mendapatkan informasi bot (getMe)
  • Mengirim typing action (sendChatAction)

๐Ÿ“ฅ Instalasi

Install via Composer:

composer require koyabu/telegramapi

Atau tambahkan pada composer.json:

{
  "require": {
    "koyabu/telegramapi": "dev-master"
  }
}

๐Ÿ›  Cara Menggunakan

1. Inisiasi Class

use Koyabu\TelegramAPI\Telegram;

$bot = new Telegram([
    'token'   => 'YOUR_TELEGRAM_BOT_TOKEN',
    'botname' => 'MyAwesomeBot'
]);

๐Ÿ“ค Mengirim Pesan

1. Kirim Pesan Text

$bot->sendMessage(123456789, "Halo dunia!");

2. Kirim Photo

$bot->sendPhoto(123456789, './image.jpg', 'Ini contoh foto');

3. Kirim Document

$bot->sendDocument(123456789, './test.pdf', 'Berikut file PDF');

4. Kirim Video

$bot->sendVideo(123456789, './video.mp4', 'Video contoh');

5. Kirim Audio

$bot->sendAudio(123456789, './audio.mp3');

6. Kirim Voice Message

$bot->sendVoice(123456789, './voice.ogg');

7. Kirim Media Group (Album)

$bot->sendMediaGroup(123456789, [
    ['type' => 'photo', 'file' => './1.jpg', 'caption' => 'Foto 1'],
    ['type' => 'photo', 'file' => './2.jpg'],
    ['type' => 'document', 'file' => './file.pdf']
]);

โœ Edit & Delete Message

Edit Message

$bot->editMessageText(123456789, 45, "Teks diganti!");

Hapus Message

$bot->deleteMessage(123456789, 45);

๐Ÿ”„ Mendapatkan Update (Long Polling)

$updates = $bot->getUpdates();
print_r($updates);

Jika ingin polling dari offset tertentu:

$bot->getUpdates($start = 50);

๐ŸŒ Webhook

Set Webhook

$bot->setWebhook("https://example.com/webhook-handler.php");

Delete Webhook

$bot->deleteWebhook();

Get Webhook Info

$info = $bot->getWebhookInfo();
print_r($info);

๐Ÿ“ Mendapatkan File

1. Ambil informasi file

$file = $bot->getFile($file_id);
$file_path = $file['result']['file_path'];

2. Buat URL download file

$url = $bot->buildFileUrl($file_path);
echo $url;

๐Ÿงช Contoh Webhook Handler (PHP)

require 'vendor/autoload.php';

use Koyabu\TelegramAPI\Telegram;

$bot = new Telegram([
    'token' => 'YOUR_BOT_TOKEN',
]);

$data = json_decode(file_get_contents('php://input'), true);

$chat_id = $data['message']['chat']['id'];
$text    = $data['message']['text'];

$bot->sendMessage($chat_id, "Anda berkata: $text");

๐Ÿ“‚ Struktur Folder Direkomendasikan

project/
โ”‚โ”€โ”€ src/
โ”‚   โ””โ”€โ”€ Telegram.php
โ”‚โ”€โ”€ public/
โ”‚   โ””โ”€โ”€ webhook.php
โ”‚โ”€โ”€ composer.json
โ”‚โ”€โ”€ README.md

๐Ÿ’ฌ Dukungan & Kontribusi

Pull Request dipersilakan. Jika ingin menambah fitur Telegram lainnya, tinggalkan issue.

๐Ÿ“„ Lisensi

MIT License โ€” bebas digunakan untuk kebutuhan personal & komersial.