Переслать сообщения по их идентификаторам.
Раздел API: Сообщения
messages.forwardMessages#13704a7c flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true allow_paid_floodskip:flags.19?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int reply_to:flags.22?InputReplyTo schedule_date:flags.10?int schedule_repeat_period:flags.24?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long video_timestamp:flags.20?int allow_paid_stars:flags.21?long suggested_post:flags.23?SuggestedPost = Updates;
| Поле | Тип | Описание |
|---|---|---|
| flags | # | Битовая маска: поле вида flags.N?T присутствует, только если поднят бит N. |
| silent | flags.5?true | Отправить без звука: получатель не увидит уведомления. |
| background | flags.6?true | Фоновая отправка, без уведомления и без поднятия чата. |
| with_my_score | flags.8?true | |
| drop_author | flags.11?true | |
| drop_media_captions | flags.12?true | |
| noforwards | flags.14?true | |
| allow_paid_floodskip | flags.19?true | |
| from_peer | InputPeer | |
| id | Vector<int> | Идентификатор объекта — что именно, определяет тип поля. |
| random_id | Vector<long> | Случайное число от клиента. Сервер по нему отбрасывает повторы, если запрос ушёл дважды. |
| to_peer | InputPeer | |
| top_msg_id | flags.9?int | Идентификатор темы форума. |
| reply_to | flags.22?InputReplyTo | На что отвечает сообщение. |
| schedule_date | flags.10?int | Когда отправить, unix-время. Если задано — сообщение уйдёт позже. |
| schedule_repeat_period | flags.24?int | |
| send_as | flags.13?InputPeer | От чьего имени отправлять — канала или другого профиля. |
| quick_reply_shortcut | flags.17?InputQuickReplyShortcut | |
| effect | flags.18?long | |
| video_timestamp | flags.20?int | |
| allow_paid_stars | flags.21?long | |
| suggested_post | flags.23?SuggestedPost |
Своих ошибок у этого метода нет: он либо отвечает, либо падает на общих проверках ниже.
| Код | Тип | Что это значит |
|---|---|---|
| 401 | AUTH_KEY_UNREGISTERED |
Сессия неизвестна серверу: ключ отозван, устарел или вызов сделан до авторизации. |
| 401 | API_ID_INVALID |
api_id не выдавался или заблокирован. Ключи выдаёт my.ansible.su. |
| 400 | CONNECTION_LAYER_INVALID |
Клиент не сообщил слой или сообщил слой, которого сервер не знает. |
| 420 | FLOOD_WAIT_X |
Слишком часто. Повторить не раньше чем через X секунд — число приходит в тексте ошибки. |
| 500 | INTERNAL |
Ошибка на нашей стороне. Запрос можно повторить; если повторяется — это баг у нас. |
Этот вызов считается тяжёлым: его стоимость растёт вместе с объёмом данных, поэтому под пиковой нагрузкой он проходит через контроль допуска и может ответить
FLOOD_WAITтам, где лёгкие вызовы проходят всегда. Ретраи стоит строить с выдержкой.