Back to challenge

Submission

Meme Only Bot

Node.js 24 (cero dependencias, fetch nativo) · Telegram Bot API (long polling) · Claude Sonnet 5 vía OpenRouter · memegen.link para render · Railway para deploy. La decisión de diseño: el modelo no elige un meme prehecho, escribe el copy. El catálogo de 40 plantillas no describe imágenes sino formas emocionales ("This is Fine" = negar la catástrofe; "Gru's Plan" = el plan que se derrumba al final), y el modelo escribe el texto citando el sujeto concreto del mensaje. Un meme que serviría para cualquier mensaje es un meme fallido. Sobre no poder responder texto: no es una instrucción del prompt, es una propiedad del código. La salida del modelo está forzada por JSON schema a {template_id, texts[]} — no hay campo donde quepa prosa — y el bot solo llama sendPhoto; sendMessage no existe en el código. Si el modelo falla o el renderizador se cae, los catch devuelven una plantilla en blanco. Toda ruta de ejecución termina en una imagen.

Diego Reyes

Scores

Participant

0

0 votes

Your vote

Sign in to vote.

Vote another random one

Submission details

Project title

Meme Only Bot

What tools did you use?

Node.js 24 (cero dependencias, fetch nativo) · Telegram Bot API (long polling) · Claude Sonnet 5 vía OpenRouter · memegen.link para render · Railway para deploy. La decisión de diseño: el modelo no elige un meme prehecho, escribe el copy. El catálogo de 40 plantillas no describe imágenes sino formas emocionales ("This is Fine" = negar la catástrofe; "Gru's Plan" = el plan que se derrumba al final), y el modelo escribe el texto citando el sujeto concreto del mensaje. Un meme que serviría para cualquier mensaje es un meme fallido. Sobre no poder responder texto: no es una instrucción del prompt, es una propiedad del código. La salida del modelo está forzada por JSON schema a {template_id, texts[]} — no hay campo donde quepa prosa — y el bot solo llama sendPhoto; sendMessage no existe en el código. Si el modelo falla o el renderizador se cae, los catch devuelven una plantilla en blanco. Toda ruta de ejecución termina en una imagen.

Demo URL, how can we use it?

https://t.me/dr_kings_memebot

What RBR are you at?

CDMX