Публикация контента в Telegram через API

16-Янв-25 11:17

Публикация контента в Telegram через API

Автоматизация процесса публикации в Telegram с помощью Telegram API и PHP Telegram Bot SDK.

Шаг 1: Создание бота и получение API-токена

  1. Запуск BotFather:
    • Откройте Telegram и найдите бота BotFather, используя поиск по username: @BotFather.
    • Начните диалог с BotFather.
  2. Создание нового бота:
    • Отправьте команду /newbot в чат с BotFather.
    • Введите имя и уникальный username для вашего бота.
  3. Получение API-токена:
    • BotFather предоставит вам API-токен. Запишите его.

Шаг 2: Получение chat_id вашего канала

  1. Создайте канал в Telegram, если у вас его еще нет.
  2. Добавьте бота в администраторы канала.
  3. Отправьте сообщение в канал и используйте следующий PHP-код для получения chat_id:

require_once 'vendor/autoload.php';
use Telegram\Bot\Api;

$telegram = new Api('YOUR_BOT_TOKEN_HERE');
$updates = $telegram->getUpdates();
foreach ($updates as $update) {
    if (isset($update['message']['chat']['id'])) {
        $chat_id = $update['message']['chat']['id'];
        echo "Chat ID: " . $chat_id;
        break;
    }
}
            

Шаг 3: Установка PHP Telegram Bot SDK

Для работы с Telegram API на PHP мы будем использовать PHP Telegram Bot SDK. Установите библиотеку с помощью Composer:

composer require telegram-bot/api

Подробнее о методах и возможностях библиотеки можно узнать в документации PHP Telegram Bot SDK.

Шаг 4: Публикация контента в Telegram-канале

Теперь, когда у вас есть все необходимые данные, мы можем приступать к публикации контента. Обратите внимание на использование оптимизированного кода и комментариев для ясности.

Пример 1: Отправка текстового сообщения


require_once 'vendor/autoload.php';
use Telegram\Bot\Api;

$telegram = new Api('YOUR_BOT_TOKEN_HERE');
$response = $telegram->sendMessage([
    'chat_id' => '@your_channel_username', // или используйте chat_id
    'text' => 'Hello, Telegram!'
]);

echo "Сообщение отправлено: " . $response->getMessageId();
            

Пример 2: Отправка фотографии


$response = $telegram->sendPhoto([
    'chat_id' => '@your_channel_username',
    'photo' => 'https://example.com/image.jpg',
    'caption' => 'Here is a photo!'
]);

echo "Фотография отправлена: " . $response->getMessageId();
            

Пример 3: Отправка видео


$response = $telegram->sendVideo([
    'chat_id' => '@your_channel_username',
    'video' => 'https://example.com/video.mp4',
    'caption' => 'Check out this video!'
]);

echo "Видео отправлено: " . $response->getMessageId();
            

Пример 4: Отправка документа


$response = $telegram->sendDocument([
    'chat_id' => '@your_channel_username',
    'document' => 'https://example.com/document.pdf',
    'caption' => 'Here is a document for you.'
]);

echo "Документ отправлен: " . $response->getMessageId();
            

Пример 5: Отправка опроса


$response = $telegram->sendPoll([
    'chat_id' => '@your_channel_username',
    'question' => 'What is your favorite programming language?',
    'options' => json_encode(['Python', 'JavaScript', 'PHP', 'Java']),
]);

echo "Опрос отправлен: " . $response->getPollId();
            

Пример 6: Групповая отправка сообщений


$chat_ids = ['@channel1', '@channel2', '@channel3'];
$message = 'This is a broadcast message!';
foreach ($chat_ids as $chat_id) {
    $telegram->sendMessage([
        'chat_id' => $chat_id,
        'text' => $message
    ]);
}
echo "Сообщения отправлены во все каналы.";
            

Пример 7: Отправка голосового сообщения


$response = $telegram->sendVoice([
    'chat_id' => '@your_channel_username',
    'voice' => 'https://example.com/voice.ogg',
    'caption' => 'Listen to this voice message!'
]);

echo "Голосовое сообщение отправлено: " . $response->getMessageId();
            

Пример 8: Отправка местоположения


$response = $telegram->sendLocation([
    'chat_id' => '@your_channel_username',
    'latitude' => 37.7749,
    'longitude' => -122.4194
]);

echo "Местоположение отправлено: " . $response->getMessageId();
            
Информация о хостинге