Skip to content

Kosk0l/TgBotConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Примерный план:

  1. Есть бд, где хранятся id пользователей, ник, etc

  2. Пользователь делает запрос, в запросе идет его id, файл, состояние, мы даем ответ мол "во что перевести".

  3. Пользователь дает ответ, тем временем файл лежит в редисе например. Далее мы его конвертируем и отправляем обратно нужному айдишнику. В редис учитываем таймер ответа. Типа пользователь отправил файл, в течении 5 минут должен дать ответ во что конвертировать, иначе сбросить операцию.

//==================================================================================================== Реализация:

  1. Redis В листе храним id, в хешах с ключами - id храним данные по работам. В лист закидываем джобы по мере поступления от пользователей, вытаскиваем же джобу только после обработки прошлой джобы, данные по которой уже поступили серверу. Предусмотреть поломку сервера, когда джоба уже вышла - статусом джобы.

  2. Redis Храним временные состояния диалогов в редис. Связка между сообщениями одного чата. Пользователь отправляет файл: запоминаем его URL, chatID, userid пользователя в редис. Далее пользователь отправляет второе сообщение - во что конвертировать: получаем FileTo, ChatId, UserId. По этим данным идем в редис и находим URL файл из первого сообщения и отправляем его в очередь конвертации.

  3. S3 object storage - Minio Хранит сырые файлы для дальнейшей обработки.

  4. Сторонние АПИ реализуют файл и отдают его обратно. Отправляем итоговый файл пользователю.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages