Как лучше отправить сообщение в отдельную беседу Telegram через API?
Ссылка скопирована
По вводным: есть канал в котором созданы отдельные чаты (беседы).
По вводным: отправляя сообщение по id канала, оно отправляется в первый чат- название канала/1
Нужно понять: а как сделать отправку в другие беседы, у которых после слеша разный ID?
$result = $MadelineProto->messages->sendMessage([ 'peer' => $chat_id, 'message' => 'test' ]);
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
VPN
Почему не работает связка 3X-UI на своем VPS и Necobox на Windows 10 и где искать причину?
1 ответ
woocommerce
Как редактировать поля чека только для одного товара: Юкасса wordpress?
1 ответ

В Telegram “канал/1”, “канал/2” и похожие ссылки обычно относятся к topics/forum threads или обсуждениям, а не к отдельным peer в старом смысле. Чтобы отправить сообщение в конкретную тему, одного
peerканала недостаточно: нужно указать thread/topic message id или reply_to, в зависимости от библиотеки и API-метода.В Bot API это делается через
message_thread_id:curl -X POST "https://api.telegram.org/botTOKEN/sendMessage" -d "chat_id=-1001234567890" -d "message_thread_id=2" -d "text=test"
В MTProto/MadelineProto логика может отличаться. Для forum topic часто нужно отправлять сообщение в peer супергруппы и указать reply_to/top_msg_id. Смотрите, какой именно id имеет тема. Обычно его можно получить из сообщения внутри нужной темы.
Примерная идея для MadelineProto:
$MadelineProto->messages->sendMessage([ 'peer' => $chat_id, 'message' => 'test', 'reply_to' => [ '_' => 'inputReplyToMessage', 'top_msg_id' => $topic_id, ], ]);
Точная структура зависит от версии MadelineProto. Главное — не пытаться подставлять строку после слеша как отдельный peer. Peer остаётся каналом/супергруппой, а тема указывается дополнительным параметром.
Чтобы найти нужный
topic_id, отправьте тестовое сообщение вручную в нужную тему и посмотрите update/message через MadelineProto: там будетreply_to,reply_to_top_idили похожее поле. Его и используйте для последующих отправок.Итог: отправка в “другую беседу” внутри канала делается не сменой
peer, а указанием topic/thread id. Для Bot API этоmessage_thread_id, для MadelineProto — параметры reply_to/top_msg_id в MTProto-вызове.