send-leads-from-a-form-to-telegram
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-адреса.