Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Короче, меня задолбало, что списки всё время теряются.
Раз за разом повторяется одна и та же ситуация. Знакомый советует фильм, я открываю заметки, где-то записываю. И эта запись навсегда растворяется в мировом пространства.
Это происходит со всеми списками. С идеями, знакомствами, заметками из книг, местами, где я был. Вся эта бесконечная череда списков постоянно теряется. Ты постоянно начинаешь их заново. Может бы это я такой странный, а другие ответственно всё раскладывают по полочкам.
Но есть же Notion и его аналоги! Я создам необходимые вкладки и буду ответственно вести! Ахахаха, нет. Оказалось, что открыть отдельное приложение, продраться сквозь интерфейс и найти нужный список — это слишком высокий порог входа, когда надо записать на лету.
Но есть же «Избранное» в телеге, личный чат, куда можно всё закидывать! Ага, через шаг это превращается в мусорную корзину из фоточек, ссылок на статьи и какие-то рандомные заметки. Я верю, что для кого-то всё это работает. Просто всё это плохо работает для меня.
Душа просила простого решения. Чтобы написал «#фильмы» и открылся список всех фильмов, которые мне советовали. И чтобы новый фильм в этот список можно было добавить командой «#фильмы Человек-Паук: Через вселенные».
Легко добавлять, легко находить, всё само раскладывается по полочкам. Так родилась идея сделать бот для телеги «Коллектор». Телега всегда открыта, это удобно. Фишку с тегами там вроде можно реализовать.
Первым делом попробовал собрать всё через конструктор ботов. Фиг там. Этот функционал через них сделать нельзя. Пришлось искать программиста. И спустя месяц мучений появилась первая версия. Работала именно так, как я описал. Пишешь в боте сообщение:
#игры Новая Зельда - надо глянуть
Бот автоматом создаёт коллекцию «Игры» и добавляет туда первый пункт. Спустя неделю видишь, что вышла Диабло 4 и пишешь:
#игры Диабло 4 - нужно взять отпуск
И бот добавляет к списку «Игры» новый пункт.
Очень удобно. Искать нужный список или открывать отдельное приложение не нужно. Телега всегда открыта, а бот заботливое собирает информацию по категориям. Когда появилось время поиграть, то просто пишешь в бот «#игры». И он заботливо всё показывает:
#игры
Новая Зельда - надо глянуть
Диабло 4, как давно я тебя ждал
Kena: Bridge of Spirits
GRIS - в инфакте советовали
Селестия
Я прожил с ботом месяц и понял, что это лучшее, что случилось в моей жизни. Заметки из книг, список знакомых, страны и города, где я был, идеи, списки вещей для поездок. Всё переехало в Коллектор. А мои знакомые стали использовать его, как простой менеджер задач. Не спрашивайте как, я без понятия.
К сожалению, управлять коллекциями приходилось через команды. Поэтому мы взялись за вторую версию, чтобы сделать всё понятным не только мне. Сделать удобно, чего такого? Но доработки растянулись на несколько месяцев. Пришлось писать собственный фреймворк, так как существующие не поддерживали нужную логику.
Но этого того стоило. Бот оброс собственными UI-виджетами, построение ленты стало эргономичным. Появилась кнопка «Menu» и кнопки управления коллекциями. В списке всех коллекций теперь можно тапнуть и увидеть содержание. Сами списки тоже стали удобнее за счёт использования динамического пейджинга. Как только вы меняете содержание коллекции, то автоматически обновляется сообщение телеги, где она показывалась.
Таких, казалось бы, маленьких удобных фич теперь много, они детально проработаны с позиции ui/ux, и делают процесс использования бота удобным.
Так же мы реализовали на уровне сервера систему анонимности, чтобы было невозможно сопоставить коллекции с пользователями. Сам был в этом заинтересован. Вкратце, нигде в базе не хранятся идентификаторы пользователей. Они подменяются «засоленным» md5-хэшем. И если обычный md5 можно реверсивно расшифровать, то salt делает это занятие бесперспективным. Проще говоря, мы (или гипотетический злоумышленник) не можем персонифицировать пользователя.
На всё это я потратил 100 тысяч рублей. Звучит, конечно, как безумие для такой простой задачи. Не говорю, что так надо делать. Я обычно ищу дешёвые решения, но тут не сложилось.
Что в планах:
Социальные функции, чтобы можно было вести общие коллекции;
Возможность заливать готовый список;
Возможность переносить пункты между списками и объединять их.
Я пригласил потестить Коллектор друзей и знакомых. И сто пользователей создали две тысячи заметок за пару месяцев. Немножко радуюсь, что пригодилось не только мне. В общем, крутая штука. Сейчас мы вроде всё отполировали, чтобы дать публичную ссылку: https://t.me/collcoll_bot
Бот бесплатный. Никакой рекламы нет и не будет. Если есть идеи что ещё можно прикрутить, то пишете в каментах.