Flexget, Lostfilm.tv и Telegram - новая версия
Нововведения
Начиная с версии 2.9.0 flexget, которая вышла в начале января этого года, изменилась подсистема уведомлений. Вот цитата с сайт разработчика:
Notification system has been changed once more. Hopefully we worked most of the kinks out of the new system with this one. Summary of changes:
Старый конфиг уже не подходит. Придется внести изменения:
Secrets
Для удобства я вынес все пароли, ключи ссылки и прочую конфиденциальную информацию в отдельный файл. Для этого необходимо воспользоваться плагином secrets.
В директории .flexget создаем папку private, а в ней файл secretfile.yml следующего содержания:
transmlogin:
host: xxxxxxxxxxx
lostfilm:
cookie: uid=xxxxxxxxxxxx; pass=xxxxxxxxxxxxx; usess=xxxxxxxxxxxxxxxxxx
RRSUrls:
lostfilm: http://www.lostfilm.tv/rssdd.xml
baibako: http://baibako.tv/rss2.php?feed=dl&passkey=xxxxxxxxxxxxxxxx&cat=xxx,xxx
pushbullet:
apikey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
telegram:
bot_token: xxxxxxxxxxxxxxxxxx
username: mr_xxxxx
Добавляем следующую строку в самое начало config.yml
variables: private/secretfile.yml
Notify
Приводим в нашем старом конфиге в разделе templates подраздел notification к следующему виду:
notifycation:
notify:
entries:
message: |+
*{{series_name}}* рейтинг: {{tvdb_ep_rating}}
*{{tvdb_ep_name}}*
_{{series_season}} сезон {{series_episode}} серия_
[Постер]({{tvdb_banner}})
via:
- telegram:
bot_token: '{? telegram.bot_token ?}'
parse_mode: markdown
recipients:
- username: '{? telegram.username ?}'
Отображения постеров сериалов в уведомлениях
Я отказался от использования постеров с сайта лостфильма. Выбрал более универсальное решение — использование данных с сайта thetvdb.com
В самое начало подраздела tvshows необходимо добавить следующую строчку:
thetvdb_lookup: yes
Проблема с пилотными сериями
Была небольшая проблема — пилотные серии сериалов качались не в папку с именем «название_сериала», а в папку — «название_сериала Pilot». Для того что бы устранить эту ошибку необходимо в задание lostfilm внести следующие правки:
- title:
replace:
regexp: '[^a-zA-Z0-9()]+|\bPilot\b'
format: ' '
Сериалы
Названия сериалов я решил вынести в отдельный файл.
В папке private cоздаем файл series_lostfilm.yml следующего содержания:
series:
- Emerald City
- The Magicians
- Stranger Things
- The Expanse
- The Frankenstein Chronicles
- American Horror Story
- The Walking Dead
- Californication
- Outcast
- The Man in the High Castle
- Taboo
- Timeless
- Bates Motel
- Game of Thrones
- The Shannara Chronicles
- Mr. Robot
- Sherlock
- Elementary
- Beyond
- The Last Kingdom
- Humans
- A Series of Unfortunate Events:
alternate_name: 33 A Series of Unfortunate Events
- Black Mirror
- Fargo
- Dark Matter
- Incorporated
- Preacher
- Wayward Pines
- The Strain
- Frequency
- Dirk Gently's Holistic Detective Agency
- Shut Eye
- Twin Peaks
- Z Nation
- The Librarians
- 12 Monkeys
- Better Call Saul
- The X-Files
- Colony
В самый конец задания lostfilm добавляем строку:
include: private/series_lostfilm.yml
Результат
В итоге мы должны получить такой файл конфигурации:
variables: private/secretfile.yml
schedules:
- tasks: '*'
interval:
minutes: 30
templates:
tvshows:
thetvdb_lookup: yes
set:
path: /D/transmission/video/TV Shows/{{series_name}}/Season {{series_season}}
label: TV Shows
transmission:
host: '{? transmlogin.host ?}'
port: 9091
series_premiere: yes
clean:
clean_transmission:
host: '{? transmlogin.host ?}'
port: 9091
finished_for: 30 days
notifycation:
notify:
entries:
message: |+
*{{series_name}}* рейтинг: {{tvdb_ep_rating}}
*{{tvdb_ep_name}}*
_{{series_season}} сезон {{series_episode}} серия_
[Постер]({{tvdb_banner}})
via:
- telegram:
bot_token: '{? telegram.bot_token ?}'
parse_mode: markdown
recipients:
- username: '{? telegram.username ?}'
tasks:
lostfilm:
template:
- tvshows
- notifycation
headers:
cookie: '{? lostfilm.cookie ?}'
rss: '{? RRSUrls.lostfilm ?}'
verify_ssl_certificates: no
urlrewrite:
newlost:
regexp: 'http://lostfilm.tv/download.php\?(?P<details>.*)'
format: 'http://www.lostfilm.tv/download.php?\g<details>'
regexp:
reject:
- The Complete
- mkv
- mp4
- 720p
- 1080p
manipulate:
- title:
replace:
regexp: '[^a-zA-Z0-9()]+|\bPilot\b'
format: ' '
- url:
replace:
regexp: '&'
format: '&'
include: private/series_lostfilm.yml
services:
template:
- clean
Внешний вид уведомлений в telegram:

Если есть вопросы, задавайте 🙂