matriphe/telegrambot

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

PHP Library for Telegram Bot API.

1.0 2015-06-27 23:00 UTC

This package is auto-updated.

Last update: 2021-10-21 13:30:36 UTC


README

PHP Library for Telegram Bot API.

Telegram Bot API

First you must have a Telegram Bot. To do so, just read the documentation on Telegram website.

TL;DR

  1. Add @BotFather to start conversation.
  2. Type /newbot and @BotFather will ask the name for your bot.
  3. Choose a cool name, for example The Cool Bot and hit enter.
  4. Now choose a username for your bot. It must end in bot, for example CoolBot or Cool_Bot.
  5. If succeed, @BotFather will give you API key to be used in this library.

Installation

The easiest way to install is using Composer.

composer require matriphe/telegrambot

Usage

For example, you can use the library like this:

<?php
require('../vendor/autoload.php');

$apikey = '<fill_your_api_key_here>';
$chat_id = '<user_or_group_id>';

$telegram = new \Matriphe\Telegrambot\Telegrambot($apikey);

// Get bot info
$getme = $telegram->getMe();
var_dump($getme);

// Get bot messages received by bot. See user_id from here.
$updates = $telegram->getUpdates();
var_dump($updates);

// Send message to user.
$message = $telegram->sendMessage([
    'chat_id' => $chat_id, 
    'text' => 'Today is '.date('Y-m-d H:i:s')
]);
var_dump($message);

// Upload file, use fopen function.
$filepath = '/home/matriphe/photo.jpg';
$photo = $telegram->sendPhoto([
    'chat_id' => $chat_id, 
    'photo' => fopen($filepath, 'rb'), 
    'caption' => 'The caption goes here!'
]);
var_dump($photo);

All returned value are in array.

Function List

Based on Telegram Bot API's method.

  • getMe()
  • sendMessage()
  • forwardMessage()
  • sendPhoto()
  • sendAudio()
  • sendDocument()
  • sendSticker()
  • sendVideo()
  • sendLocation()
  • sendChatAction()
  • getUserProfilePhotos()
  • getUpdates()
  • setWebhook()

Please read Telegram Bot API's method for details.