Телеграм бот для систематизации заметок из группы и выдачи по критериям в виде текста, который можно зачитывать на манер караоке в красивом интерфейсе и с гибкими настройками.
Цикл разработки:
собрать интерфейссобрать серверсоздать базуподключить Telegramпарсинг чата в базу данных- раскидать функции по командам для бота
настроить вывод на клиенте- доделать интерфейс
- деплой
- придумать, как шифровать сообщения, чтобы я не смог их прочитать или расшифровать будучи владелец БД (либо сделать пакет, который легко и с 0 рублей, можно будет развернуть, да еще и с базой, да еще без понимания в IT)
- Авторизация с через соц.сети + ?свой ключ md5 к шифрованию базы
- разработать разные фичи
TODO:
- Типизировать: - Получаемый объект сообщения из Telegram (уже начал, но пока не подходит)
- хранить tg сеансы в бд?
- кэширование в GrapQL Yoga (server) и Apollo Client (client)
ФИЧИ:
- В компоненте Error сделать кнопку "обновить" - запрашивает данные еще раз
- Фильтры:
- Сортировка Давние/Новые/Случайно
- Диапозон дат
- Кол-во слов/абзац
- Хэштеги
- По ключевым словам (ChakraUI - Highlight)
- Сохранять настройки пользователя
- История сессий
- Вкл/Выкл - разделители между сообщениями с выбором стилей
- Вкл/Выкл - оторбражение хэштегов и в чате эмодзи или реакциях / режим минимализма (у сообщения будут шарики что имеются тэги или реацкии ChakraUI - Popover)
- Возможность создать проекты, в которых, можно развивать текст до законченного состояния
- Автоисправление грамматический ошибок
TextGears
(: - оставить как опцию p.s. доп. опция: не исправлять слова, в которых буквы разного регистра (кроме первой) - Во время паузы, печатается одно слово из базы машинным font'ом
- Замылить текст тремя тапами
%% Сложные
- перевод голосовых сообщений в текст (speech-to-text)
Google Voice Api
,ACRCloud Speech To Text
,Developer Musixmatch
- GPT - для дописание на лету или для попыток склеить несколько сообщений
- Tune Tracker - указать ключ и смотреть попадание в ноты
- Загрузка бита и запись черновых демок
- Совместная сессия по онлайн - Создается комната, приглашаются участники. У каждого своя папка с текстами. Каждый может перейти к другому и выборать любой из текстов, чтобы: предложить правку, создать копию у себя.
bun.sh
elysia.js
@elysia/graphql-yoga
prisma
next.js
mtcute
Для установки проекта выполните следующую команду:
- Clone the repository
Команда ниже скачает репозиторий и создаст папку dope-lyrics
git clone https://github.com/kam1kazy/dope-lyrics.git
Если у вас при клонировании прерывается с ошибкой "fatal: fetch-pack: invalid index-pack output".
Это может быть связана с размером буфера Git, который используется для передачи данных.
Репозиторий очень большой, вы можете попробовать клонировать его с опцией --depth, которая позволяет клонировать только последние коммиты:
Вы можете увеличить размер буфера, используя команду git config
и скачать только последний коммит с флагом --depth 1
:
git config --global http.postBuffer 524288000
После загрузки, нужно перейти в папке с проектом.
Если вы вводили в терминале IDE, то в потребуется перейти в папку самого проекта, для этого можно воспользоваться File -> Open Folders, либо командой cd dope-lyrics
cd dope-lyrics
Вводите команды по очереди во избежание ошибок.
cd ****
-> перемещается по каталогу через консоль (терминал / shell / cli), где **** - это имя дериктории.
cd ..
-> перемещается вверх по каталогу через консоль.
P.S. Можно вводить сразу несколько команд, они будут выполняться одна за другой, но может случится баг, что репозиторий не скачается, если попытаться сразу выполнить команду cd dope-lyrics
- Install dependencies
Выполняем команду bun run setup
, чтобы установить все зависимости (пакеты / плагины) в корневой папке, а так же в папках server и client.
bun run setup
- Start dev mode
bun run dev
Все команды ниже выполняются из папки server
cd server
- Открыть базу данных:
bunx prisma studio
- Удаляет и заново создает БД или выполняет "мягкий сброс", удаляя все данные, таблицы, индексы и другие артефакты:
bunx prisma migrate reset --skip-seed
- Создает миграции:
bunx prisma migrate dev --name init --skip-seed
- Выполняет посев (заливает данные):
bun seed
После установки вы сможете взаимодействовать с вашим Telegram
ботом и использовать его функции для систематизации записей.
-
Подключение к группе Телеграм -
Создание новых фич
-
Подключение GPT
Если вы хотите внести свой вклад, не стесняйтесь создавать проблемы или отправлять запросы на извлечение. Все предложения будут рассмотрены!
Этот проект лицензирован под MIT License.