[$200 Reward] Looking for Plex developers to help with TV\Anime\Movie tracking plugin for Simkl

Hello my name is Andrew,
I am a member of the Simkl team (https://simkl.com).

We’re looking for someone to help the Simkl community and develop an open source Plex plugin for Simkl that would sync watched history with Simkl using the API: http://api.simkl.com.

We’re offering a $200 reward to help create this plugin. If you have any questions know someone who can help, we’d like to hear from you at support@simkl.com

You have channels, you have metadata agents, you could have metadata agent helpers…

So for a user created library of movies (unsing TheMovieDB) or TV Series (using TheTVDB) you want for this future agent to be to just sync the watch status of episodes or movies with your site using the API ?

So when refreshing meta, you want that agent to check plex watched status and just update your site with the info ?
. check if watched on Plex
. check if watched on Simkl
. if watched on plex and not on simkl: update simkl.

This allow with the use of PlexPy to do just “One-directional Plex-to-TVMaze watch status sync” so it should be doable but cannot find any info on plex watch status in the dev guide nor metadata model so not so straight forward…

https://forums.plex.tv/discussion/36007/how-to-set-the-watched-flag-and-progress-via-a-metadata-agent

You can changed the watched/unwatched status via following URL:

Set Watched: http://:32400/:/scrobble?key=&identifier=com.plexapp.plugins.library
Set UnWatched: http://:32400/:/unscrobble?key=&identifier=com.plexapp.plugins.library

where the = the number from the key attribute return from PMS.

eg if key for a movie was /library/metadata/554 then =554

then use
Watched: http://:32400/:/scrobble?key=554&identifier=com.plexapp.plugins.library
UnWatched: http://:32400/:/unscrobble?key=554&identifier=com.plexapp.plugins.library

Thanks, ZeroQI, these are all great suggestions. However, we’re looking for someone to work on the plugin itself while we’re working on other features for Simkl.

We were able to put together a Plex Webhook https://forums.plex.tv/discussion/257363/rel-webhook-for-simkl-tv-anime-movie-tracker but this only works if you have a Plex Pass. Would be super awesome if there was also a plugin for Plex,

I am currently rewriting HAMA the anime agent for Plex to have one module per meta source (So far: ANimeLists [aidb to tvdb ep mapping], AniDB, TVDB, TheMovieDB, MyAnimeList, FanartTV, OMDb) and being able to select which source per Plex Metadata Field now (source not yet published, in testing/dev still as it’s a major re-write).

Considering your source because well it look really good and you have multiple other metadata source IDs i already support.
While searching for feasibility, i found links that could be called from an agent or (WebHook) to (re)set the watch status but still looking for a way to get the watch status…

Set Watched: http://:32400/:/scrobble?key=&identifier=com.plexapp.plugins.library
Set UnWatched: http://:32400/:/unscrobble?key=&identifier=com.plexapp.plugins.library

where the = the number from the key attribute return from PMS.

eg if key for a movie was /library/metadata/554 then =554

then use
Watched: http://:32400/:/scrobble?key=554&identifier=com.plexapp.plugins.library
UnWatched: http://:32400/:/unscrobble?key=554&identifier=com.plexapp.plugins.library

Seem like other people did python api for plex i could take code from:

from this one https://github.com/pkkid/python-plexapi/blob/master/plexapi/video.py found usefull code

    def markWatched(self):
        """Mark a items as watched."""
        path = '/:/scrobble?key=%s&identifier=com.plexapp.plugins.library' % self.ratingKey
        self.server.query(path)
        self.reload()

    def markUnwatched(self):
        """Mark a item as unwatched."""
        path = '/:/unscrobble?key=%s&identifier=com.plexapp.plugins.library' % self.ratingKey
        self.server.query(path)
        self.reload()
    @property
    def isWatched(self):
        return bool(self.viewCount > 0)

int(elem.attrib.get('viewCount', 0)) == 0:

Thanks @ZeroQI, we have already webhook https://forums.plex.tv/discussion/257363/rel-webhook-for-simkl-tv-anime-movie-tracker but it only works for Plex Pass owners, need a plugin that would work for all users.

Not sure how metadata agent works but there has to be a login step with PIN auth, so that it saves to appropriate profile on Simkl - which is possible only to edit settings through web interface, which agents don’t have if I’m not mistaken.

@masyk you are correct, the agent can call web pages and display logs, and agent settings can have text input so was trying to use that for auth but am a bit lost on the process but working on it using http://docs.simkl.apiary.io/#reference/authentication-oauth-2.0/token/authorize-application?console=1