1. Go to this page and download the library: Download texhub/telegram library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
texhub / telegram example snippets
use TexHub\Telegram\Handler\UpdateHandler;
use TexHub\Telegram\Keyboard\InlineKeyboard;
use TexHub\Telegram\Keyboard\Button;
class MyBot extends UpdateHandler
{
// "/start" → start(); "/start REF123" → start('REF123')
public function start(string $payload = ''): void
{
if ($payload !== '') {
$this->chat->message("Invited with code: {$payload}")->send(); // who invited
}
$this->chat->message('Welcome! 👋')
->keyboard(InlineKeyboard::make()->row(Button::callback('Menu', 'menu')))
->send();
}
public function help(): void { $this->chat->message('Send /start')->send(); }
public function onText(string $text): void { $this->chat->message('You said: ' . $text)->send(); }
public function onPhoto(): void { $this->chat->message('Nice photo!')->send(); }
public function onContact(array $c): void { $this->chat->message('📱 ' . $c['phone_number'])->send(); }
public function onLocation(array $l): void { $this->chat->message("📍 {$l['latitude']}, {$l['longitude']}")->send(); }
public function onCallbackQuery(array $cb): void { $this->answerCallback('OK'); }
}
(new MyBot)->handleRequest($bot, $request->getContent(), $request->header('X-Telegram-Bot-Api-Secret-Token'));
use TexHub\Telegram\Telegram;
use TexHub\Telegram\Keyboard\InlineKeyboard;
use TexHub\Telegram\Keyboard\Button;
use TexHub\Telegram\InputFile;
$bot = Telegram::bot('123456:ABC-TOKEN');
// Fluent:
$bot->chat($chatId)->message('Hello <b>world</b>')->html()->send();
$bot->chat($chatId)->photo(InputFile::fromPath('/path/pic.jpg'))->caption('Look')->send();
$bot->chat($chatId)
->message('Choose:')
->keyboard(InlineKeyboard::make()->row(
Button::callback('✅ Yes', 'yes'),
Button::copyText('📋 Copy code', 'PROMO-2026'),
Button::webApp('🚀 Open app', 'https://app.texhub.pro'),
))
->send();
// Classic:
$bot->sendMessage($chatId, 'Hi', ['parse_mode' => 'HTML']);
$bot->sendPhoto($chatId, 'https://example.com/pic.jpg', ['caption' => 'Photo']);
$bot->downloadFileTo($fileId, '/path/save.jpg');
// Anything in the Bot API:
$bot->call('banChatMember', ['chat_id' => $chatId, 'user_id' => $userId]);
if ($update->isBusiness()) {
$bot->asBusiness($update->businessConnectionId())
->sendMessage($update->chatId(), 'Reply on behalf of the business');
}
$tg = Telegram::fromArray([
'default' => 'support',
'bots' => ['support' => ['token' => '111:AAA'], 'sales' => ['token' => '222:BBB']],
]);
$tg->driver('sales')->sendMessage($chatId, 'Hi from sales');
$tg->botFromToken($tenant->telegram_token)->sendMessage($chatId, '...'); // from DB at runtime
use TexHub\Telegram\Laravel\Telegram;
Telegram::sendMessage($chatId, 'Hi from Laravel!'); // default bot
Telegram::driver('sales')->chat($chatId)->message('…')->send();
use TexHub\Telegram\Laravel\Models\TelegramBot;
use TexHub\Telegram\Laravel\Models\TelegramChat;
$record = TelegramBot::create(['name' => 'Acme', 'token' => '999:XYZ', 'webhook_secret' => '...']);
$record->client()->sendMessage($chatId, 'Hello from a tenant bot');
// Remember everyone who writes to the bot (chat_id, name, username, language, avatar…):
$chat = TelegramChat::rememberFromUpdate($update, $record->id);
$chat->refreshAvatar($record->client());
$record->chats()->where('is_active', true)->get();
public function webhook(string $bot, \Illuminate\Http\Request $request)
{
(new \App\Telegram\MyBot)->handleRequest(
\TexHub\Telegram\Laravel\Telegram::driver($bot),
$request->getContent(),
$request->header('X-Telegram-Bot-Api-Secret-Token'),
);
return response('', 200);
}
use TexHub\Telegram\Bot;
use TexHub\Telegram\Config;
use TexHub\Telegram\Tests\Support\FakeTransport;
$t = (new FakeTransport())->willReturn(['message_id' => 1, 'chat' => ['id' => 99]]);
$bot = new Bot(new Config('123:ABC'), $t);
$bot->chat(99)->message('hi')->send(); // assert on $t->last()