Бот для Telegram, позволяющий проводить импорт в Hydrus Network, посредством самого мессенджера.
Обращаясь к боту внутри Телеграма, можно сохранять в своём запущенном экземпляре Гидруса изображения, видео, аудио, голосовые и видеосообщения (кружочки), а также документы.
К тому же бот пытается импортировать в Гидрус отправляемые ссылки, как если бы импорт проводился непосредственно в клиенте Гидруса. Также контент, полученный ссылками, возвращается ответным сообщением.
Сопутствующие хештеги также обрабатываются как теги к присланному контенту (нижнее подчёркивание заменяется пробелом, концом тега считается символ перед пробелом).
После скачивания репозитория скопируйте образец файла настроек .conf.json.example
, переименуйте в .conf.json
и установите настройки.
Обязательно установите зависимости в ваше окружение python: python -m pip install -r requirements.txt
Перед запуском бота убедитесь, что у вас запущен Hydrus Network, а также создан токен с нужными правами.
Команда python tg-hydrus-import-bot
в каталоге репозитория запустит бота, после чего сразу можно заниматься импортом.
Файл настроек располагается в рабочей директории, носит имя .conf.json
и может редактироваться прямо в блокноте
Настройки:
TG_ADMIN_ID
: список идентификаторов пользователей Телеграма, кому разрешено отправлять контент в ваш экземпляр Гидруса. Обратите внимание, что это именно список, поэтому все числовые идентификаторы должны быть перечислены внутри квадратных скобок.TG_BOT_TOKEN
: токен телеграм-бота, берётся при создании бота у @BotFatherHYDRUS_TOKEN
: токен Hydrus API, берётся в клиенте: services -> review services -> local -> client api -> addTIME_TO_SLEEP
: время в секундах, которое ожидает программа в случае сбояTAGS_NAMESPACE
: пространство тегов Гидруса, в которое эти теги и записываютсяDESTINATION_PAGE_NAME
: название страницы в клиенте Гидруса, на которую отправляются импортированные файлыTEMP_PATH
: путь к папке временных файловCONTENT_TYPES
: типы контента, которые бот будет обрабатывать, допустимые типы:[ "photo", "video", "animation", "video_note", "audio", "voice", "document", "text" ]
Для корректной работы бота необходимо токену выставить права
После каждого права указано, для чего оно нужно
edit file tags
:/get_service
- получение внутреннего ключа пространства тегов/add_tags/clean_tags
- преобразование тегов к «чистому» виду/add_urls/add_url
- добавление тегов сразу при импорте контента по ссылке/add_tags/add_tags
- добавление тегов
import and delete files
:/add_files/add_file
- загрузка файлов в Гидрус
import and edit urls
:/add_urls/get_url_files
- проверка статуса существования контента по ссылке (необходимо для проставления новых тегов существующему файлу)/add_urls/add_url
- импорт контента по ссылке/add_urls/associate_url
- приписывание ссылки к загруженному в Гидрус файлу обычным способом
manage pages
:/manage_pages/get_pages
- получение списка страниц в клиенте для поиска нужной/manage_pages/add_files
- помещение импортированного файла на страницу в клиенте
search and fetch files
:/get_files/file
- непосредственное получение скачанного по ссылке файла для отправки в ответ
Непредоставление токену этих прав урежет возможности бота на вышеперечисленные.