@Zorgios

Почему не добавляется вложение в сообщение при отправке через API Discord?

При попытке отправить сообщение в дискорд, прикрепив изображение - совершается запрос с такими вот параметрами
639780371d4b8203537432.png
Где content - это текст сообщения, а attachments - набор вложений.
Пытаюсь повторить этот же запрос в PHP с такими же параметрами
$url = 'https://discord.com/api/v9/channels/' . $id_channel . '/messages'; // url, на который отправляется запрос
        $params = array(
            'content' => "test text",
            'attachments' => [
                [
                    'filename' => 'InkedБез названия (1).jpg',
                    'id' => "0",
                    'uploaded_filename' => 'a2455f8e-07bd-4d49-aa64-d60ae397a08e/Inked_1.jpg'
                ]
            ],
            'tts' => 'false', 
        );
        $result = @file_get_contents($url, false, stream_context_create(array(
            'http' => array(
                'method'  => 'POST',
                'header'  => 'authorization: ' . $token_DS,
                'content' => http_build_query($params)
            )
        )), true);


Сообщение отправляется в чат, но вложение не прикрепляется.

Заметил также, что при добавлении изображения к сообщению, вызывается еще 1 POST запрос с методом attachments
Как правильно передать туда файл, лежащий на сервере и прикрепить его к сообщению?
6397822520d2e669514040.png
6397822b5fa35671977235.png
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
Файлы необходимо загружать при помощи multipart/form-data запроса:
https://discord.com/developers/docs/resources/chan...
https://discord.com/developers/docs/reference#uplo...
https://www.php.net/manual/en/features.file-upload...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы