{"product_id":"telegram-russian-joke-comics-automation-with-n8n-openrouter-google-sheets","title":"Telegram Russian Joke Comics Automation with n8n, OpenRouter \u0026 Google Sheets","description":"\u003ch3\u003eTurn Russian jokes into Telegram-ready single-panel comics—automatically\u003c\/h3\u003e\n\u003cp\u003eThis n8n automation scrapes a Russian joke from \u003cstrong\u003eanekdot.ru\u003c\/strong\u003e, converts it into a \u003cstrong\u003esingle-panel comic image\u003c\/strong\u003e using \u003cstrong\u003eOpenRouter\u003c\/strong\u003e (chat + image), and posts the result to \u003cstrong\u003eTelegram\u003c\/strong\u003e—while keeping deduplication, processing state, and image storage in \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e and \u003cstrong\u003eGoogle Drive\u003c\/strong\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBootstraps history on first run:\u003c\/strong\u003e it searches Google Drive for the history spreadsheet, creating the Google Sheets file (and an images folder in Drive) if needed.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads progress and builds paging:\u003c\/strong\u003e it reads the last processed page from the Sheets \u003cstrong\u003eState\u003c\/strong\u003e tab, then constructs the appropriate anekdot.ru tag URL.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSelects an unused joke:\u003c\/strong\u003e it reads hashes from the \u003cstrong\u003eUsed Jokes\u003c\/strong\u003e tab, then downloads and extracts candidate jokes from anekdot.ru—paging up to \u003cstrong\u003e15 pages\u003c\/strong\u003e until it finds the first unused match within the target length.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates a strict comic plan:\u003c\/strong\u003e the chosen joke is sent to an \u003cstrong\u003eOpenRouter chat model\u003c\/strong\u003e to produce a \u003cstrong\u003estrict JSON\u003c\/strong\u003e description (scene, characters, and short dialogue).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates the comic image:\u003c\/strong\u003e it calls the \u003cstrong\u003eOpenRouter Images API\u003c\/strong\u003e to generate a square panel (with optional speech bubbles). If moderation blocks the request, it logs the blocked joke in Google Sheets and retries with the next unused candidate.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSaves and publishes:\u003c\/strong\u003e the returned base64 image is converted to PNG, uploaded to \u003cstrong\u003eGoogle Drive\u003c\/strong\u003e, made publicly shareable, and posted to \u003cstrong\u003eTelegram\u003c\/strong\u003e with an \u003cstrong\u003eHTML caption\u003c\/strong\u003e containing the joke text.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUpdates deduplication:\u003c\/strong\u003e it appends the joke hash, excerpt, timestamp, and Drive image URL to \u003cstrong\u003eUsed Jokes\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eAutomation engineers building a content pipeline that converts text sources into comic images and schedules posts to Telegram.\u003c\/li\u003e\n  \u003cli\u003eSaaS operators who want an always-on “joke → image → social post” workflow with persistence and deduplication.\u003c\/li\u003e\n  \u003cli\u003eCreators maintaining a Russian humor channel with controlled novelty and moderation-aware retrying.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/components:\u003c\/strong\u003e if, set, code, telegram, sticky note, google drive\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eExternal services:\u003c\/strong\u003e anekdot.ru (scraping), \u003cstrong\u003eOpenRouter\u003c\/strong\u003e (chat for JSON + Images API), \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e (State\/Used Jokes), \u003cstrong\u003eGoogle Drive\u003c\/strong\u003e (image storage)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45814421029043,"sku":"N8N-17998","price":62.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/DHsGnSSadYtGeB03l7Znu_MkFIH74V.png?v=1786439570","url":"https:\/\/buyflowscripts.com\/products\/telegram-russian-joke-comics-automation-with-n8n-openrouter-google-sheets","provider":"N8N Commerce","version":"1.0","type":"link"}