RomainPierre7 / jellyfin-plugin-TelegramNotifier

Jellyfin media server plugin to easily send notifications on Telegram !
https://jellyfin.org/
GNU General Public License v3.0
32 stars 3 forks source link

Adding additional information to messages #1

Closed Druidblack closed 6 months ago

Druidblack commented 6 months ago

Good afternoon. I would like to ask you to make a few improvements in the plugin.

  1. When you start watching the series. Output not only the title of the series. Print the title of the series, the title of the series and the episode number.
  2. Display the cover of a series or movie when informing about the beginning of watching a movie (completion of viewing) and adding it to the library.
  3. When adding a movie or TV series, display not only the title, but also the cover with a description. You can also add a duration.
  4. When adding a movie to the library. Along with the information about the addition of the film, I also received information about the added actors (from this film). (Could it be because Generic is enabled?) p.s. Ideally, add a message sending template editor where you can independently determine what needs to be sent.
RomainPierre7 commented 6 months ago

Hey, thanks for your feedback. It's true that the plugin is in its infancy and still needs some fine-tuning.

For the moment I've mainly tested it on movies and not series. I'm going to make the adjustments you've asked for.

During my tests for added films I didn't get the actors, but once in production on my server I did too. I'm going to work on it.

The next features will also be the ability to set silent notifications, to exclude yourself from notifications of your own activities, and type exclusion (for example, being informed only of videos but not of music).

Thanks for your feedback, it's motivating to know that the plugin is already in use and will be in the future.

As for installation, configuration, etc., it was pretty well explained ?

Druidblack commented 6 months ago

I would like to have settings (form) in which you can choose what to send. For example: enable or disable sending the duration of a movie (music). whether to inform about listening to music (unlike movies or TV series, listen to music for 3 to 5 minutes and information about the inclusion of each song will spam the chat), description, cover of the film or series.

I do something similar via webhook and send it to telegram. But it will be useful to do it with your hands there.

Druidblack commented 6 months ago

I am ready to help with testing, as I often use jf for movies, music and TV series.

Druidblack commented 6 months ago

The main thing that I would like to receive from the project is normal information about the addition of new films, TV series (seasons or episodes) and music. This would be good, since, for example, I made a channel where I inform my family about the arrival of new films or TV series.

Now I am using that project ( https://github.com/Fahmula/jellyfin-telegram-notifier ) for such an implementation. One of the interesting features is that the program is able to add a link to the video trailer to messages.

By the way, I forgot to tell you. You can also add a link to IMDB or TMDB to the information to send. The same is available in the capabilities of the webhook.

RomainPierre7 commented 6 months ago

Yeah the idea of this project was to include everything in the jellyfin plugin so we don't have to run an external service as a flask API for example.

I'm a bit busy this week but I'll do my best next week to take into account your feedback. The bug about the notifier which notifies also the actors will be fix today in a new release.

Thanks for your offer about testing ;)

Druidblack commented 6 months ago

I wanted to ask you. Have you ever come across the fact that the correct information in the message is not always sent. I will try to explain my problem. For some reason, the trigger to send data is triggered before the data appeared in jf (I think there are none). I've tried both your plugin and the one above and just sending a webhook. For example, if you add a picture (movie cover) to a message, but it is not there yet, then the message is not sent. Also for example. Your plugin, when working correctly, takes the name of the movie, and if there is not enough data, the plugin sends the name of the file. Although when viewing the data in jf, everything loaded.

правильно proper work

не правильно not the right job

Druidblack commented 6 months ago

This is not a problem with your plugin, but with jf's work with data. Maybe you have some thoughts about this. I have such a problem only with movies, there is no such problem with TV series.

Druidblack commented 6 months ago

there are several ideas about this. I'll try it now. If there is a result, I will write.

Druidblack commented 6 months ago

Unfortunately, I ran out of ideas. I wanted to introduce a delay before sending messages. But apparently incorrect data is generated already when it is sent to me. And my delay in sending a message in telegram doesn't help. I tried to change the language. That didn't help either. According to the messages from the webhook, I see that the trigger for sending is triggered twice. The first time I receive data without the year of manufacture and the tmdb ID, the second trigger sends me this data, but there is no image. It's getting late today. When I have a movie in my library, which normally sends me information with an image the first time. I'll update the information. I will also attach a screenshot with the messages.

укукку

ууу

This error does not occur with all films. I was adding movies today. And information about their addition appeared in all programs. It's just that now I've changed the message sending template and I want to see what data is sent when information about the movie is added.

RomainPierre7 commented 6 months ago

I fixed the bug for the added item notifier. A new release is available.

image

Were the screenshots sent by my plugin or by another ? My guess is it depends on the schedule tasks. When you get a new media, Jellyfin has to scan it, parse it and download its metadata. If it's enough fast or it's lucky regarding the scheduler you will be notify only with the name of the movie (and the correct data that is implemented in the message). If the notifier is called before the end of the parse and metadata gathering you will be notify with the raw name (the one including the tmdbid) because for now your movie is just a basic file. Maybe there is a way to let an item in the queue while the metadata is not completed. But I don't really have this problem. Maybe it's a problem of internet speed.

Druidblack commented 6 months ago

The screenshots with the movie camera are yours.

I understand that this problem is not related to your plugin. I just asked for advice.

Druidblack commented 6 months ago

In the scheduler, the time 0.00833333333333333 cannot affect this? This time is in Telegram Notifier ItemAdded Notifier and Webhook Item Added Notifier

RomainPierre7 commented 6 months ago

The time 0.00833333333333333 means the notifier for added items is called each 30 seconds. By increasing it you will let more chance to Jellyfin to gather the metadata before the notification but you will be notify slower than with the current setting. I will seek if there is a way to let an item in the queue while the metadata is not completly gathered, but you can try to increase the scheduler time and tell me if it's better with a time of a task each minute for example

Druidblack commented 6 months ago

You were right. I changed the time in the scheduler. And the data began to arrive correctly. Apparently it takes a little more time than 30 seconds. through the user interface, you can set an interval of 15 minutes. P.S. Are there any options to set the time through the interface less, or can this be done in the configuration files? For the experiment, I left 30 seconds in the scheduler for your plugin, and set 15 minutes for the webhook. And the data came in correctly. Even to check, I tried to run the scheduled task before the time came (I knew for sure that two films were downloaded and the data for them were displayed in jf) and the data about the films came correctly. Therefore, if you add time settings in the settings with which to send data, it would be nice. Now I will put 15 minutes in the settings of your plugin (to make sure) but I think the result will be the same.

RomainPierre7 commented 6 months ago

I can add a way to select the time in the plugin configuration page. But maybe it's easier to set it up from the scheduled tasks panel. Idk. It depends on whether the plugin update resets the manual time configuration or not. I don't know how Jellyfin handles these settings.

RomainPierre7 commented 6 months ago

I have made the requested improvements. The last release 10.9.1.2 is available. I close this issue. If you see any new problems or improvements, please contact me again ;)