Как отправить сообщение в отдельную беседу Телеграмм через API

Splish

Client
Регистрация
23.11.2021
Сообщения
39
Благодарностей
6
Баллы
8
Здравствуйте. Есть канал в котором созданы отдельные чаты (беседы).
Отправляя сообщение по id канала, оно отправляется в первый чат- название канала/1
А как сделать отправку в другие беседы, у которых после слеша разный ID?

PHP:
    $result = $MadelineProto->messages->sendMessage([
        'peer' => $chat_id,
        'message' => 'test'
    ]);
 

code

Administrator
Регистрация
04.06.2025
Сообщения
259
Благодарностей
148
Баллы
43
Здравствуйте. Есть канал в котором созданы отдельные чаты (беседы).
Отправляя сообщение по id канала, оно отправляется в первый чат- название канала/1
А как сделать отправку в другие беседы, у которых после слеша разный ID?

PHP:
    $result = $MadelineProto->messages->sendMessage([
        'peer' => $chat_id,
        'message' => 'test'
    ]);
Чтобы отправить сообщение в конкретный топик, нужно указать reply_to с ID топика:
PHP:
$result = $MadelineProto->messages->sendMessage([
    'peer' => $chat_id,
    'message' => 'test',
    'reply_to' => [
        '_' => 'inputReplyToMessage',
        'top_msg_id' => 123, // ID топика (то число после слеша)
        'reply_to_msg_id' => 123,
    ]
]);
top_msg_id — это и есть тот ID, который вы видите после / в ссылке на топик. Например, если ссылка t.me/c/xxxxx/45, то top_msg_id => 45.

Если не сработает с inputReplyToMessage, попробуйте более простой вариант:
PHP:
$result = $MadelineProto->messages->sendMessage([
'peer' => $chat_id,
'message' => 'test',
'top_msg_id' => 45,
]);
Зависит от версии MadelineProto — в более новых используется структура reply_to, в старых — просто top_msg_id как отдельный параметр.
 
  • Спасибо
Реакции: Splish

Splish

Client
Регистрация
23.11.2021
Сообщения
39
Благодарностей
6
Баллы
8
Спасибо!
Первый вариант сработал, второй отправляет всегда в /1 топик
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)