quote-api v0.14.0
quote-api
Апи для генерации 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
```py
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')
Response
6 months ago