Git Product home page Git Product logo

ombi-bot's People

Contributors

chessmango avatar stacktraceyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ombi-bot's Issues

request specific seasons

currently all tvshow seasons are requested add ability to request specific season/all/first explicitly

Ombi-bot in Synology's Docker GUI

Hi!

I'm trying to install Omni-bot in Docker with the Synology GUI but I don't know exactly where to put the path of bot.env (because logs told me "null" for every values).

I tried in the volume and environment tab but same issue:

image

image

Thanks in advance if you have any hint to help me!

ombi-bot has auto-approved permissions

Thanks for your work!

This is a feature request more than an issue.
Your bot works flawlessly, but the problem for me, its that all requests are auto-approved, and the vote limit that I've setup in ombi has no effect if users use ombi-bot in the telegram chat.
Is there a way to set up bot to not auto-approve request and only register in ombi, to be voted lately?

Thanks, great work!

No response to /search with new Ombi v4

The problem

  • My bot doesn't respond to searches when configured with Ombi v4.

Chronology

  • Everything was working under v3.
  • I moved to the new Plex Movie agent which is not supported by v3 (content doesn't match IMDB IDs) so I tried Ombi v4.
  • I have two docker containers, one for v3 and one for v4. Both run on the same host (IP and port). Of course I don't run both at the same time.
  • The bot.env is exactly the same (same file), I only update the Ombi token accordingly.

Here are the responses from the bot for different scenarios:

v3 with correct Ombi token

Searching Movies and TV

v3 with incorrect token

Searching Movies and TV
No Available Results
No Search Results
No Available Results
No Search Results

v4 with/without correct token

Searching Movies and TV

All the requests are submitted as admin request

I have configured BOT_ADMIN to authorize users to submit their requests, but all the requests go through and submitted by the Ombi admin users as defined in the env file; as a result, the Ombi user Quota does not get applied to the users and also Ombi notifications all go to the admin user.
Is this an expected behavior for now? and is there any plan to make user request management available.
I know that the similar bots in Discord can do user request management and correlated Discoed users to Ombi users.

Thanks for your effort here, looks very promising 👍

Error 404

I keep getting this error when starting the container, any idea why?

``[error, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE da401d64-be58-4480-a240-aeb1281a11ea java.lang.RuntimeException: Error 404 on request

Exception in thread "main" java.lang.RuntimeException: Error 404 on request

at com.bot4s.telegram.clients.ScalajHttpClient.$anonfun$sendRequest$13(ScalajHttpClient.scala:107)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

command as template

For the users the bot is easier to use if the commands (/searchmovie and /searchtv) are selectable faster. Like the "IDBot" for example. (see picture)
Telegram-example

Availability issue

Hello,

when I ask the bot for a movie I have always "movie unavailable" even if the movie is available in ombi (and in Plex obvisouly.

Example :
Ombi db screen

Telegram chat screen

Do you have any suggestions ?

Authorization support?

Please add authorization support for the bot, now any telegram user can make a request to the bot.

No Results Found for /search

My bot doesn't respond to searches when configured with Ombi v4.

My env file is:

OMBI_HOST=http://localhost:5000
OMBI_KEY=xyzombikeyxyz
OMBI_BOT_TOKEN=xyzbotkeyxyz
OMBI_BOT_NAME=bot_username
OMBI_USER_NAME=ombiusercreated
BOT_ADMIN=111111111
BOT_CHAT_ID=2222222222

docker exec is showing the same thing as my env file.

docker logs is giving out this.

[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST e857b08c-d800-450e-bf89-9aa5c9e9a794 GetUpdates(None,None,Some(30),None) [error, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE e857b08c-d800-450e-bf89-9aa5c9e9a794 java.lang.IllegalArgumentException: requirement failed: Exactly one of the optional fields should be used

Error sending photo: [400]

Hello I just installed the ombi-bot 2.0 in docker on ubuntu 18.04 and while /tvserach works as expected, /moviesearch doesnt returning:



org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException: Error sending photo: [400] Bad Request: can't parse inline keyboard button: Text buttons are unallowed in the inline keyboard


	at org.telegram.telegrambots.meta.api.methods.send.SendPhoto.deserializeResponse(SendPhoto.java:146)


	at org.telegram.telegrambots.bots.DefaultAbsSender.execute(DefaultAbsSender.java:226)


	at org.stacktrace.yo.plexbot.bots.ombi.OmbiCallbackHandler.sendPhoto(OmbiCallbackHandler.java:271)


	at org.stacktrace.yo.plexbot.bots.ombi.OmbiCallbackHandler.doReply(OmbiCallbackHandler.java:69)


	at org.stacktrace.yo.plexbot.bots.ombi.OmbiCommand.execute(OmbiCommand.java:38)


	at org.telegram.telegrambots.extensions.bots.commandbot.commands.BotCommand.processMessage(BotCommand.java:78)


	at org.telegram.telegrambots.extensions.bots.commandbot.commands.CommandRegistry.executeCommand(CommandRegistry.java:106)


	at org.telegram.telegrambots.extensions.bots.commandbot.TelegramLongPollingCommandBot.onUpdateReceived(TelegramLongPollingCommandBot.java:69)


	at java.util.ArrayList.forEach(ArrayList.java:1257)


	at org.telegram.telegrambots.meta.generics.LongPollingBot.onUpdatesReceived(LongPollingBot.java:27)


	at org.telegram.telegrambots.updatesreceivers.DefaultBotSession$HandlerThread.run(DefaultBotSession.java:305)``` 

Exception in thread "main" DecodingFailure

I created a Docker container on my Synology NAS with the env variables below

OMBI_BOT_NAME: Name of the ombi bot
OMBI_BOT_TOKEN: 12345:foobar
OMBI_KEY: 12foo34bar
OMBI_HOST: http://externalip:port

and I'm getting the following error in the log file

2022-01-22 21:12:07	stdout	Exception in thread "main" DecodingFailure(Int, List(DownField(id), DownField(result)))
2022-01-22 21:12:07	stdout	[error, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE bea24690-fa63-4af3-a0f9-c26a40859d7e DecodingFailure(Int, List(DownField(id), DownField(result)))
2022-01-22 21:12:04	stdout	[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST bea24690-fa63-4af3-a0f9-c26a40859d7e GetMe
2022-01-22 21:12:04	stdout	[trace, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE f6233830-65b9-4f8d-b386-f92745a77480 true
2022-01-22 21:10:53	stdout	[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST f6233830-65b9-4f8d-b386-f92745a77480 DeleteWebhook

I can't talk to the bot via Telegram. Any idea what could be the issue?
Ombi: 4.3.3
Docker Image: 2.2-OMBI-V4

Thanks

Readme improvements

Just as a bit of feedback, maybe it would be nice to update the README to include the following:

  • explain whether local IPs work for the OMBI_HOST
    -if not, make it clear that a public IP is needed
  • clearly indicate whether http or https should/can/must be used
  • in addition to the bot.env sample code, add a mocked but real bot.env sample
    • it wasn't immediately clear to me whether to use include <> or "" for the values

Exception in thread "main" DecodingFailure

Running on Ubuntu 18.04.6 LTS and the bot.env file is as follows:

OMBI_HOST=http://ipaddress:5000
OMBI_KEY=itsactualkeynotthis
OMBI_BOT_TOKEN=thebottokent
OMBI_BOT_NAME=NameOfBot

I get this issue when trying to run it. any help would be hugely appreciated:

[1]+ Stopped sudo java -jar ombibot.jar -p /home/plex/bot.env
plex@gsc:~/ombi-bot/ombi-bot/target$ sudo java -jar ombibot.jar -p /home/plex/bot.env
[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST ad8e3e79-272e-4a0c-b773-f01c44481b4b DeleteWebhook
[trace, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE ad8e3e79-272e-4a0c-b773-f01c44481b4b true
[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST 220e8b1f-3b02-48d4-9231-6445e788cc2a GetMe
[error, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE 220e8b1f-3b02-48d4-9231-6445e788cc2a DecodingFailure(Int, List(DownField(id), DownField(result)))
Exception in thread "main" DecodingFailure(Int, List(DownField(id), DownField(result)))

Thanks,

just-the5

Request Button

Admin message back, that request button was already hit/only able to hit request button once.

Add approval ability for owner

I've already implemented this in my bot, could be a nice feature for yours (my bot is not public, so no worries about me trying to advertise lol)

image
image
image

I'm currently working on bulk approvals

Logs Location in README.md

Would be nice to provide a log location, or a debug option. I'm getting 0 search results and not sure where to start, I've SSH'd into the container and checked some /var/log/ locations, not sure what else. Thanks!

Suggestions to improve search

Hi!

I was using a Telegram bot to add movies to Radarr but it's easier for me to use the Ombi one (because I only use Ombi to manage this).

Here's what it looks like:
image

Interesting point : it show me complete name, year of release and every movie with my request in the title, even if I already have them in Radarr. No need to write the complete name

Here's with Ombi-bot:
image

Just the picture. Don't know if it's the first or second film.

And if if it's already been requested:
image

So if I want to add "zombieland 2" but without knowing the exact name, I can't.

I hope you can do something to improve the UX, that could be difficult to select the good movie.

Feature: Request Season on Search Result

If on search result instead of „Request“ there would be:

  • First Season
  • Most Recent Season
  • Select Specific Season
    • This shoud update the message with a list of all available seasons and user can click through all the wanted seasons. With each click Season Button gets updated with „requested“ and muted.
  • Request All Seasons

As buttons to click on instead of just „Request“.

Here a wireframe of one search result as example
image

Search request timeout / endless loop

I believe I have configured the bot correctly:

  • bot.env file has all api keys and identifiers for ombi and Telegram
  • I can reach the bot from Telegram correctly and use the commands /authon, /authinfo, /info, etc.

However, whenever I use the search commands, there is no reply from the bot and looking at the log seems to indicate that it's getting lost in an endless loop (probably) trying to fetch the data and getting timeouts.

[trace, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE 91b7f9b6-1592-446d-bb05-73e8ddca7f95 List(Update([REDACTED_FOR_PRIVACY],Som
e(Message(101,Some(User([REDACTED_FOR_PRIVACY],false,[REDACTED_FOR_PRIVACY],Some([REDACTED_FOR_PRIVACY]),Some([REDACTED_FOR_PRIVACY]),Some(en))),[REDACTED_FOR_PRIVACY],Chat([REDACTED_FOR_PRIVACY],Private,Non
e,Some([REDACTED_FOR_PRIVACY]),Some([REDACTED_FOR_PRIVACY]),Some([REDACTED_FOR_PRIVACY]),None,None,None,None,None,None,None,None),None,None,None,None,None,None,None,None
,None,Some(/searchtv friends),Some(List(MessageEntity(BotCommand,0,9,None,None))),None,None,None,None,None,None,None,None,No
ne,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None)),None,None,None
,None,None,None,None,None,None))                                                                                            
[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST 2012ddfb-fa82-4bee-bfbf-60a39979c1a7 GetUpdates(Some(176446615)
,None,Some(30),None)                                                                                                        
[trace, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE 2012ddfb-fa82-4bee-bfbf-60a39979c1a7 List()                   
[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST 3fe3f334-2b27-49ed-961a-44b1ffae7cff GetUpdates(Some(176446615)
,None,Some(30),None)                                                                                                        
[trace, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE 3fe3f334-2b27-49ed-961a-44b1ffae7cff List()                   
[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST a3601393-2869-4de6-b51b-8b54a681055c GetUpdates(Some(176446615)
,None,Some(30),None)

Request: Option to let the user delete there files

Hi,

I wanted to ask if it's possible to add an /delete and then the files that the user is adding to Plex.
Because there are an lot of movies / tv shows that is not watched anymore but still exists on my server.

seperate command an query

if a user only type /searchmovie, the bot give "no results" instead of "what are you searching?" (for example). So the user must type the whole command everytime.

Environment variable mismatch

When making 2.0 I messed up the environment variable naming.

OMBI_BOT_TOKEN got changed to BOT_TOKEN
and
OMBI_BOT_NAME got changed to BOT_NAME

Name?

Is this not a ombi-bot?

Or are you going to add more non-ombi features?

Just curious 😁

"Error 401 on request" error

I just built the non-Docker version of OMBI-bot for Telegram. However, when I run it I get the following error and I don't know how to troubleshoot it.

OMBI-Bot version 2.1. (Same error on master branch)
OMBI is v4.0.483.0.
My env file is:

OMBI_HOST=http://localhost:5000
OMBI_KEY=xyzombikeyxyz
OMBI_BOT_TOKEN=xyzbotkeyxyz
OMBI_BOT_NAME=@bot_name

java -jar c:\Utils\ombi-bot-2.1.jar -p c:\Utils\ombi-bot.env

[trace, com.bot4s.telegram.clients.ScalajHttpClient] REQUEST 1fce7bda-2d06-4982-918d-b573ed4cfb1e DeleteWebhook
[error, com.bot4s.telegram.clients.ScalajHttpClient] RESPONSE 1fce7bda-2d06-4982-918d-b573ed4cfb1e java.lang.RuntimeException: Error 401 on request
Exception in thread "main" java.lang.RuntimeException: Error 401 on request
at com.bot4s.telegram.clients.ScalajHttpClient.$anonfun$sendRequest$13(ScalajHttpClient.scala:107)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

next result ability

add ability to click next on a request if the movie/tv returned isnt the one you wanted

search by id

if there are no hits, see if the query gets a shit on various databases (tvdb/tmdb) and return that result

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.