Апи для генерации Telegram цитат
POST /generate
Пример JSON запроса:
{
"type": "quote",
"format": "png",
"backgroundColor": "#1b1429",
"width": 512,
"height": 768,
"scale": 2,
"messages": [
{
"entities": [],
"chatId": 66478514,
"avatar": true,
"from": {
"id": 66478514,
"first_name": "Yuri 💜",
"last_name": "Ly",
"username": "LyoSU",
"language_code": "ru",
"title": "Yuri 💜 Ly",
"photo": {
"small_file_id": "AQADAgADCKoxG7Jh9gMACBbSEZguAAMCAAOyYfYDAATieVimvJOu7M43BQABHgQ",
"small_file_unique_id": "AQADFtIRmC4AA843BQAB",
"big_file_id": "AQADAgADCKoxG7Jh9gMACBbSEZguAAMDAAOyYfYDAATieVimvJOu7NA3BQABHgQ",
"big_file_unique_id": "AQADFtIRmC4AA9A3BQAB"
},
"type": "private",
"name": "Yuri 💜 Ly"
},
"text": "I love you 💜",
"replyMessage": {}
}
]
}
Медиа:
{
"type": "quote",
"format": "png",
"backgroundColor": "#1b1429",
"width": 512,
"height": 768,
"scale": 2,
"messages": [
{
"media": [
{
"file_id": "CAACAgIAAxkBAAIyH2AAAUcJoPJqv4uOPabtiSR3judSnQACaQEAAiI3jgQe29BUaNTqrx4E",
"file_size": 22811,
"height": 512,
"width": 512
}
],
"mediaType": "sticker",
"chatId": 66478514,
"avatar": true,
"from": {
"id": 66478514,
"first_name": "Yuri 💜",
"last_name": "Ly",
"username": "LyoSU",
"language_code": "ru",
"title": "Yuri 💜 Ly",
"photo": {
"small_file_id": "AQADAgADCKoxG7Jh9gMACBbSEZguAAMCAAOyYfYDAATieVimvJOu7M43BQABHgQ",
"small_file_unique_id": "AQADFtIRmC4AA843BQAB",
"big_file_id": "AQADAgADCKoxG7Jh9gMACBbSEZguAAMDAAOyYfYDAATieVimvJOu7NA3BQABHgQ",
"big_file_unique_id": "AQADFtIRmC4AA9A3BQAB"
},
"type": "private",
"name": "Yuri 💜 Ly"
},
"replyMessage": {}
}
]
}
Без Telegram
{
"type": "quote",
"format": "png",
"backgroundColor": "#1b1429",
"width": 512,
"height": 768,
"scale": 2,
"messages": [
{
"entities": [],
"media": {
"url": "https://via.placeholder.com/1000"
},
"avatar": true,
"from": {
"id": 1,
"name": "Mike",
"photo": {
"url": "https://via.placeholder.com/100"
}
},
"text": "Hey",
"replyMessage": {}
}
]
}
Параметры:
Поле | Тип | Описание |
---|---|---|
type | string | Тип выходного изображения. Может быть: quote, image, null |
backgroundColor | string | Цвет фона цитаты. Может быть Hex, название или random для случайного цвета |
messages | array | Массив из сообщений |
width | number | Максимальная ширина |
height | number | Максимальная высота |
scale | number | Маcштаб |
Пример ответа:
{
"ok": true,
"result": {
"image": "base64 image",
"type": "quote",
"width": 512,
"height": 359
}
}
JavaScript
const axios = require('axios')
const fs = require('fs')
const text = "Hello World"
const username = "Alι_Aryαɴ"
const avatar = "https://telegra.ph/file/59952c903fdfb10b752b3.jpg"
const json = {
"type": "quote",
"format": "png",
"backgroundColor": "#FFFFFF",
"width": 512,
"height": 768,
"scale": 2,
"messages": [
{
"entities": [],
"avatar": true,
"from": {
"id": 1,
"name": username,
"photo": {
"url": avatar
}
},
"text": text,
"replyMessage": {}
}
]
};
const response = axios.post('https://bot.lyo.su/quote/generate', json, {
headers: {'Content-Type': 'application/json'}
}).then(res => {
const buffer = Buffer.from(res.data.result.image, 'base64')
fs.writeFile('Quotly.png', buffer, (err) => {
if (err) throw err;
})
});
Python
import requests
import base64
text = "Hello World"
username = "Alι_Aryαɴ"
avatar = "https://telegra.ph/file/59952c903fdfb10b752b3.jpg"
json = {
"type": "quote",
"format": "webp",
"backgroundColor": "#FFFFFF",
"width": 512,
"height": 768,
"scale": 2,
"messages": [
{
"entities": [],
"avatar": True,
"from": {
"id": 1,
"name": username,
"photo": {
"url": avatar
}
},
"text": text,
"replyMessage": {}
}
]
}
response = requests.post('https://bot.lyo.su/quote/generate', json=json).json()
buffer = base64.b64decode(response['result']['image'].encode('utf-8'))
open('Quotly.png', 'wb').write(buffer)
print('Quotly.png')