Задать вопрос
@roman_tonkoshkurov

Почему не отправляются сообщения в telegram через php?

Сделал небольшой скрипт на для отправки сообщений в групповой чат telegram.
Т.к. РКН у нас блокирует телеграм, использую PROXY_HTTP. На ноутбуке локально развернут open server и все работает хорошо. Сообщения приходят и все прекрасно.
Ну думаю пора в инет всё это. Зарегистрировался в AWS (Amazon Web Service), создал сервак, закинул туда свой php файл и он вроде как работает, то есть страница не показывает никаких ошибок. Но все же в телеграм ничего не приходит. Помогите пожалуйста, куда смотреть, где какие логи посмотреть? Я ничего понять не могу. Весь день уже ковыряюсь.
Листинг кода:
<?php
define('TELEGRAM_TOKEN', 'XXXXXX:XXXXXXXXXXXXXXXXX');
define('TELEGRAM_CHATID', '-12343211234321');

#$message = 'Здорова';
$message = $_GET['message'];

message_to_telegram($message);

function message_to_telegram($mess) {
    $ch = curl_init();
    curl_setopt_array(
        $ch,
        array(
            CURLOPT_URL => 'https://api.telegram.org/bot' . TELEGRAM_TOKEN . '/sendMessage',
            CURLOPT_POST => TRUE,
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_TIMEOUT => 10,
            CURLOPT_POSTFIELDS => array(
                'chat_id' => TELEGRAM_CHATID,
                'text' => $mess,
            ),
            CURLOPT_PROXY => 'qwe-qwe.ra:12354',
            CURLOPT_PROXYUSERPWD => 'qwe-qwerty:asdasd',
            CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
            CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
        )
    );
    curl_exec($ch);
}
  • Вопрос задан
  • 790 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@roman_tonkoshkurov Автор вопроса
Т.к. сервак за бугром, то соответственно никакой Proxy там не нужен и соответственно код умещается в 3 строчки. У меня вот так:
spoiler

<?php
$token = "XXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXX";
$chat_id = "-XXXXXXXX";

$message = $_GET['message'];
$message_to_telegram = ($message);

$send_to_telegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$message}","r");

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
bigton
@bigton
Web-программист
Добавьте после curl_exec($ch); var_dump(curl_getinfo($ch)); и посмотрите что вам отвечает Телеграм
Ответ написан
@ArgosX
1) включить вывод ошибок
error_reporting(E_ALL);
ini_set('display_startup_errors', 1);
ini_set('display_errors', '1');


2) модуль php-curl установлен?
Ответ написан
@sokol_kb
Вы также отправляете сообщение боту, указав его токен, самого бота нужно добавить в этот групповой чат, в качестве chat_id указать id группы, она будет с минусом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы