quotly-api-qc
v1.0.2
Published
Modulo Quotly API - Gerador de Quotes em Formato de Imagem. sem precisar puppeteer nem hospedar nd compativel com termus, windows, linux
Maintainers
Readme
Quotly Modulo
Modulo Gerador de Quotes em Formato de Imagem.
Este Modulo fornece uma interface fácil de usar para interagir com a Quotly API, permitindo gerar imagens de quotes personalizadas com diversas opções de formatação, mensagens, avatares e muito mais. (Nao precisa puppeteer) compativel em termux, linux, windows e etc.. facilitando o uso.
Instalação
Para instalar o Modulo em seu projeto, use npm ou yarn:
npm install quotly-api-qc
# ou
yarn add quotly-api-qcUso Básico
Para começar, importe a classe Quotly e crie uma instância. Em seguida, use o método generate para criar sua imagem de quote.
import { Quotly } from 'quotly-api-qc';
const quotly = new Quotly();
async function generateSimpleQuote() {
try {
const result = await quotly.generate({
messages: [
{
from: { id: 1, name: "The Jeff" },
text: "Olá! Esta é uma mensagem de exemplo gerada pelo modulo";
}
]
});
console.log("URL da imagem gerada:", result.result.image);
} catch (error) {
console.error("Erro ao gerar quote:", error.message);
}
}
generateSimpleQuote();Usando o atalho simpleQuote
Para gerar uma quote simples com uma única mensagem, você pode usar o método de atalho simpleQuote:
import { Quotly } from 'quotly-api-qc';
const quotly = new Quotly();
async function generateSimpleQuoteWithShortcut() {
try {
const result = await quotly.simpleQuote("The Jeff", "Olá! Esta é uma mensagem de exemplo gerada pelo modulo");
console.log("URL da imagem gerada (atalho):", result.result.image);
} catch (error) {
console.error("Erro ao gerar quote com atalho:", error.message);
}
}
generateSimpleQuoteWithShortcut();Tipos de Dados
O Modulo exporta todos os tipos de dados para facilitar o desenvolvimento com TypeScript. Os principais tipos incluem:
QuotlyGenerateOptions: As opções completas para a geração da imagem.QuotlyMessage: Representa uma única mensagem dentro da quote.QuotlyMessageFrom: Informações do remetente da mensagem.QuotlyEntity: Para formatação de texto (negrito, itálico, etc.).QuotlyReplyMessage: Para mensagens de resposta.QuotlyMedia: Para anexar mídia (imagem/vídeo).QuotlyVoice: Para mensagens de voz.QuotlyResponse: O formato da resposta da API.
Você pode importá-los diretamente:
import { Quotly, QuotlyGenerateOptions, QuotlyMessage } from 'quotly-api-qc';
const options: QuotlyGenerateOptions = {
messages: [
{
from: { id: "user123", name: "Usuário Teste" },
text: "Esta é uma mensagem tipada!"
}
]
};
// ... usar 'options' com quotly.generate()Exemplos Avançados
Mensagem com Resposta e Avatar
import { Quotly } from 'quotly-api-qc';
const quotly = new Quotly();
async function generateReplyQuote() {
try {
const result = await quotly.generate({
messages: [
{
from: {
id: 1,
name: "THE JEFF",
photo: { url: "https://i.imgur.com/your-avatar.jpg" } // Substitua pela URL do seu avatar
},
text: "Bem-vindo ao gerador!",
entities: [
{ type: "bold", offset: 0, length: 9 }
],
avatar: true,
replyMessage: {
name: "X-BOT",
text: "Como funciona?"
}
}
]
});
console.log("URL da imagem com resposta e avatar:", result.result.image);
} catch (error) {
console.error("Erro ao gerar quote com resposta e avatar:", error.message);
}
}
generateReplyQuote();Múltiplas Mensagens e Estilos de Texto
import { Quotly } from 'quotly-api-qc';
const quotly = new Quotly();
async function generateConversationQuote() {
try {
const result = await quotly.generate({
messages: [
{
from: { id: 1, name: "THE JEFF" },
text: "Oi! Como você está?"
},
{
from: { id: 2, name: "X-BOT" },
text: "Tudo bem! E você?"
},
{
from: { id: 1, name: "THE JEFF" },
text: "Ótimo! Vamos conversar?",
entities: [
{ type: "italic", offset: 0, length: 5 },
{ type: "bold", offset: 12, length: 9 }
]
}
]
});
console.log("URL da imagem da conversa:", result.result.image);
} catch (error) {
console.error("Erro ao gerar quote de conversa:", error.message);
}
}
generateConversationQuote();Customização de Layout e Formato
import { Quotly } from 'quotly-api-qc';
const quotly = new Quotly();
async function generateCustomLayoutQuote() {
try {
const result = await quotly.generate({
messages: [
{
from: { id: 1, name: "Custom User" },
text: "Esta é uma quote personalizada!"
}
],
type: "quote", // ou "image", "stories"
format: "webp", // ou "png"
backgroundColor: "#FFD700", // Cor hexadecimal ou nome CSS
width: 800,
height: 600,
scale: 3, // Maior valor = melhor qualidade
emojiBrand: "google" // ou "apple", "twitter", etc.
});
console.log("URL da imagem customizada:", result.result.image);
} catch (error) {
console.error("Erro ao gerar quote customizada:", error.message);
}
}
generateCustomLayoutQuote();Tratamento de Erros
O Modulo utiliza axios para fazer as requisições HTTP. Erros da API serão lançados como exceções, que você pode capturar com um bloco try...catch. A mensagem de erro incluirá detalhes do status HTTP e da resposta da API, se disponíveis.
import { Quotly } from 'quotly-api-qc';
const quotly = new Quotly();
async function handleErrorExample() {
try {
// Exemplo de requisição que pode falhar (e.g., payload inválido)
await quotly.generate({
messages: [], // Array de mensagens vazio, o que pode causar um erro na API
});
} catch (error) {
console.error("Ocorreu um erro:", error.message);
// Saída esperada (exemplo): "Quotly API Error: 400 - {\"error\":\"Messages array cannot be empty\"}"
}
}
handleErrorExample();Licença
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
