Проект: ImgMacroBot  Публичный пост
15 марта 2021  398
ImgMacroBot
https://t.me/ImgMacroBot

Расскажите о себе и сути проекта?

ImgMacroBot — это inline бот для Telegram для генерации мемасов (а точнее image macro'сов)

Как появилась идея? Что вдохновило?

Помню когда-то, чтобы удачно пошутить достаточно было наложить незамысловатый текст Impact'ом на какую-нибудь картинку и запостить на борду. Да и сейчас иногда хочется запостить в беседу старичка-Боромира, который не ищет лёгких путей в Мордор, а лезть в онлайн мемогенератор — лень. Вот я и решил заавтоматизировать свои любимые шаблоны в телеграм-боте.

Что вошло в прототип и сколько времени на него было потрачено?

В прототипе 5 мемчиков на английском и русском. Ушло пару недель по вечерам.

Поддерживается не слишком много шаблонов, полный список можно глянуть в README проекта, но он будет потихоньку расти, пока я не забью. Если чего-то не хватает — можно завести issue.

Какой технологический стек вы использовали? Почему?

Сам бот написан Kotlin / Ktor, потому что люблю это дело.

Текст на картинках рисуется с помощью Skija — это Java-обёртка над довольно интересной Skia, которая в ваших андроедах и хромах, ага. Поставьте лайк на GitHub при случае, либу пилит Tonsky практически в одинчку, наверняка вы читали его блог.

Картинки заливаются в Imgur, потому что это бесплатно.

Кеш в Oracle Autonomous Transaction Processing (Oracle 21c). И тут вы наверное такие: чёёё? Нафига аж Oracle в пет-проекте?

Всё нормально. Просто Oracle пытаются занять своё место под Солнцем в мире облачных решений и предлагают абсолютно бесплатно на неограниченный период времени 2 виртуалки и 2 инстанса этого самого (да ещё и managed) Oracle в рамках Always Free Tier. Почему бы и не взять?

Базовый мониторинг — через Grafana Cloud. Опять же, потому что абсолютно бесплатно.

С какими самыми неожиданными трудностями пришлось столкнуться?

Inline боты не могут отдавать контент напрямую клиентам. Т.е. нельзя просто так… а в прочем что это я… Давайте покажу, как это работает.

Набираете в любом Телеграм-чате "@ImgMacroBot нельзя просто так взять и отдать контент из inline бота" и получаете картинку:

Видите, какой полезный бот?

Так вот, инлайн боты могут лишь возвращать URL к ресурсам, уже размещённым где-то (картинки, видосы, статьи), но не сами эти ресурсы. Приходится вначале загружать куда-то картинку, а потом возвращать ссылку на неё.

Imgur, в принципе, неплох для такого, но API у него убого задокументировано и выглядит так, словно прямо завтра его закроют.

Oracle хоть и раздаёт бесплатные БД в своём облаке, те имеют свойство тушиться после недели простоя. Приходится периодически пропинговывать базу, записывая туда таймстемпы.

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

Потратил 0 денег, и часов 50 времени. Заработал тоже ничего. Поковырял Skia и Oracle Cloud с Grafana, получил какой-никакой опыт, уже неплохо.

Бот-то довольно нишевый, написан по угару (а может и не угарно это всё, а аутично), развивать как-то и монетизировать особо не планировал.

Откомментируйте первым 👇

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб