Это бот для телеграмма, соединяет интерфейс пользователя и скачивальщик (bff)
Локально держит базу с ссылками, качеством скачивния, датой отправки в скачивальщик (будущая отправка), id пользовтаеля(добавивший очередь), id сообщения от сервера (для последующего удаления) и сообщением о вставке
Каждые N секунд бот проходит по базе с ссылками, если время подошло, то отправляется в скачивальщик
Если вставка не удалась (в локальную очередь), то отрпавляется сразу в скачивальщик
Если вставка в скачивальщик провалилась, то ссылка снова возвращается в очередь вставки (увеличивая время вставки), ошибка записывается в базу
Пока запись не отправилась, пользователь может задать качество скачивания через бота (клавитура для сообщения)
Качество по-умолчанию задается конфигом
Пользователь может наблюдать и управлять только своими ссылками
Поддержка разграничения прав пользователя. Админ оперирует всеми ссылками
Так же держит grpc сервер, скачивальщик должен сам "регистрироваться" в боте
База ботов - таблица с именем и адресами. Если при регистрации имя совпадает, то данные полностью обновляются
Каждое взаимодействие со скачивалщиком - обновляет соединение для актуализции и своевременной смены адресов
Успешно отправленные ссылки удаляются из базы
Выполенение маршрутизации ссылок на основе имени сервера и части адреса ссылки
Удаление сообщений с ссылками и клавитурой, которые уже отправлены
Если подходящих серверов несколько, то отправка осуществляется последовательно, при возникновение ошибок в преыдущей отправке, но базовая очередь выбирается случайно