@gtmayo69

Как сделать что-бы бот отправлял сообщение в групповой но, не в лс?

Здравствуйте, уже 3 часа никак не могу сделать чтоб сообщение отправлялось в групповой чат...

Он в лс только отправляет, можете подсказать как это исправить?
code:
<?
$bot_token = 'not'; // токен бота
$data = file_get_contents('php://input'); 
$data = json_decode($data, true); 





if (!empty($data['message']['text'])) {
    $chat_id = $data['message']['from']['id'];
	
    $user_name = $data['message']['from']['username'];
    $first_name = $data['message']['from']['first_name'];
    $last_name = $data['message']['from']['last_name'];
    $text = trim($data['message']['text']);
    $text_array = explode(" ", $text);
    
    if ($text == '/help') {
        $text_return = "Я работаю";
        message_to_telegram($bot_token, $chat_id, $text_return);
    }

}

// функция отправки сообщения
function message_to_telegram($bot_token, $chat_id, $text, $reply_markup = '')
{	
    $ch = curl_init();
    $ch_post = [
        CURLOPT_URL => 'https://api.telegram.org/bot' . $bot_token . '/sendMessage',
        CURLOPT_POST => TRUE,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_POSTFIELDS => [
            'chat_id' => $chat_id,
            'parse_mode' => 'HTML',
            'text' => $text,
            'reply_markup' => $reply_markup,
        ]
    ];

    curl_setopt_array($ch, $ch_post);
    curl_exec($ch);
}
?>
  • Вопрос задан
  • 277 просмотров
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Распространённая ошибка: в качестве chat_id используется id пользователя. Естественно, получателем будет пользователь, а не группа.

Правильно вместо этого:

$chat_id = $data['message']['from']['id'];

использовать это:

$chat_id = $data['message']['chat']['id'];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
FeST1VaL
@FeST1VaL
Тихий
А вы дали ему права на группу? у BotFather? и права писать и читать сами сообщения в группе
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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