send-leads-from-a-form-to-telegram

Last update: 22 Квітня, 2023

Category: Telegram

Вызываем в telegram бота @BotFather и через команду /newbot создаем нового бота. У бота должно быть имя заканчивающееся на _bot, к примеру name_bot.

Создаем открытый канал и добавляем в него по имени бота в качестве администратора. Создаем в канале краткую ссылку, к примеру @name.

При создании бота в п. (1) нам был дан ключ вида 123456789:AABBCCDDEEFF32r4g45ewfw_WFE3regergD. Чтобы узнать ID нашего канала берем этот ключ и название группы, и составляем из них строчку такого вида:

https://api.telegram.org/bot123456789:AABBCCDDEEFF32r4g45ewfw_WFE3regergD/sendMessage?chat_id=@channelName&text=123

Обращаю внимание на то, что перед ключем добавлена фраза bot.

Строчку вставляем в адресную строку браузера, выполняем запрос. В ответ на него прилетит что-то вроде этого:

{ «ok»: true, «результат»: { «chat»: { «id»: -1001005582487, «title»: «Test Private Channel», «type»: «channel» }, «дата»: 1448245538, «message_id»: 7, «текст»: «123ds» } }

Число с минусом – и есть наш ID канала. С минусом же его в будущем следует и использовать.

Когда получили ID канала – делаем его закрытым.

Код для отправки ботом информации в канал:

$botToken = "123:GREreg3425ergerFWew";
$chat_id = "-12435135123523";

$telegram_message = 'text' . PHP_EOL . PHP_EOL;
$telegram_message .= 'REMOTE_ADDR: ' . $_SERVER['REMOTE_ADDR'] .';'.PHP_EOL .'HTTP_CLIENT_IP: '. $_SERVER['HTTP_CLIENT_IP'].';'.PHP_EOL .'HTTP_X_FORWARDED_FOR: '. $_SERVER['HTTP_X_FORWARDED_FOR'].';'.PHP_EOL . PHP_EOL;

$bot_url = "https://api.telegram.org/bot$botToken/";
$url = $bot_url . "sendMessage?chat_id=" . $chat_id . "&text=" . urlencode($telegram_message);
file_get_contents($url);

В код добавил строчку определения IP-адреса.