dwld-bot

module
v0.0.0-...-79821a0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2025 License: MIT

README

dwld-bot

Микросервис управления ботом

Тезисы:

  1. Это бот для телеграмма, соединяет интерфейс пользователя и скачивальщик (bff)
  2. Локально держит базу с ссылками, качеством скачивния, датой отправки в скачивальщик (будущая отправка), id пользовтаеля(добавивший очередь), id сообщения от сервера (для последующего удаления) и сообщением о вставке
  3. Каждые N секунд бот проходит по базе с ссылками, если время подошло, то отправляется в скачивальщик
  4. Если вставка не удалась (в локальную очередь), то отрпавляется сразу в скачивальщик
  5. Если вставка в скачивальщик провалилась, то ссылка снова возвращается в очередь вставки (увеличивая время вставки), ошибка записывается в базу
  6. Пока запись не отправилась, пользователь может задать качество скачивания через бота (клавитура для сообщения)
  7. Качество по-умолчанию задается конфигом
  8. Пользователь может наблюдать и управлять только своими ссылками
  9. Поддержка разграничения прав пользователя. Админ оперирует всеми ссылками
  10. Так же держит grpc сервер, скачивальщик должен сам "регистрироваться" в боте
  11. База ботов - таблица с именем и адресами. Если при регистрации имя совпадает, то данные полностью обновляются
  12. Каждое взаимодействие со скачивалщиком - обновляет соединение для актуализции и своевременной смены адресов
  13. Успешно отправленные ссылки удаляются из базы
  14. Выполенение маршрутизации ссылок на основе имени сервера и части адреса ссылки
  15. Удаление сообщений с ссылками и клавитурой, которые уже отправлены
  16. Если подходящих серверов несколько, то отправка осуществляется последовательно, при возникновение ошибок в преыдущей отправке, но базовая очередь выбирается случайно

Directories

Path Synopsis
docs
internal
app
pkg
grpcserver
Package grpcserver implements HTTP server.
Package grpcserver implements HTTP server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL