Skip to content

Media Upload

Класс-помощник со статическими методами для загрузки файлов.

path

Метод для загрузки медиа-файла по локальному пути.

ts
ctx
.
sendDocument
(await
MediaUpload
.
path
("./package.json"));
// или с указанием имени файла
ctx
.
sendDocument
(await
MediaUpload
.
path
("./package.json", "some-other.json"));

Если имя файла не указано, в качестве имени файла используется исходное имя файла.

url

Метод для загрузки медиа-файла по URL (также с опциями fetch).

ts
ctx
.
sendPhoto
(await
MediaUpload
.
url
("https://example.com/cat.png"));
// или с указанием имени файла
ctx
.
sendPhoto
(
await
MediaUpload
.
url
("https://example.com/cat.png", "cute-cat.png")
); // или с именем файла и опциями fetch (например, заголовками)
ctx
.
sendPhoto
(
await
MediaUpload
.
url
("https://example.com/cat.png", "cute-cat.png", {
headers
: {
Authorization
: "Bearer gramio",
}, }) );

Если имя файла не указано, в качестве имени файла используется последняя часть после /.

buffer

Метод для загрузки медиа-файла из Buffer или ArrayBuffer.

ts
const 
res
= await
fetch
("https://...");
ctx
.
sendDocument
(
MediaUpload
.
buffer
(await
res
.
arrayBuffer
(), "from-buffer.json")
);

По умолчанию имя файла - file.buffer.

stream

Метод для загрузки медиа-файла из потока Readable.

ts
ctx
.
sendDocument
(
await
MediaUpload
.
stream
(
fs
.createReadStream("./cute-cat.png"),
"the-same-cute-cat.png" ) );

По умолчанию имя файла - file.stream.

text

Метод для загрузки медиа-файла из текстового содержимого.

ts
ctx
.
sendDocument
(
MediaUpload
.
text
("GramIO лучший!", "правда.txt"));

По умолчанию имя файла - text.txt.