stacktraceyo / ombi-bot Goto Github PK
View Code? Open in Web Editor NEWTelegram bot for OMBI
Telegram bot for OMBI
currently all tvshow seasons are requested add ability to request specific season/all/first explicitly
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!
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:
Searching Movies and TV
Searching Movies and TV
No Available Results
No Search Results
No Available Results
No Search Results
Searching Movies and TV
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 👍
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)
Please add authorization support for the bot, now any telegram user can make a request to the bot.
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
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)```
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
All requests failed with a 500 server error after upgrading OMBI.
Reverted back to 4256 and it worked again.
Not sure if the problem is with ombi or ombi-bot.
Hi!
I'm using a Docker container on my Synology NAS to run Ombi-bot. There's no issue to search any media but the "Request" button in the Telegram's bot doesn't do anything.
Here's the container's logs just after click on "request" button:
Hope you could help me!
Any idea @StackTraceYo ?
Clickable Poster of movie or tv show.
Goes to IMDB link.
Just as a bit of feedback, maybe it would be nice to update the README to include the following:
bot.env
sample code, add a mocked but real bot.env
sample
<>
or ""
for the valuesRunning 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
Admin message back, that request button was already hit/only able to hit request button once.
do /info on a running bot
the example provided for /searchtv is a /searchmovie example
this would be really useful to notify a user once their request is fulfilled
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!
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).
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
Just the picture. Don't know if it's the first or second film.
And if if it's already been requested:
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.
When building the non-Docker version according to the instructions, you get a build error that Docker is not reachable via the Docker standard port.
The only way to build it is to install Docker and expose it via the default port.
If on search result instead of „Request“ there would be:
As buttons to click on instead of just „Request“.
I believe I have configured the bot correctly:
bot.env
file has all api keys and identifiers for ombi and Telegram/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)
For one particular authorization I can't authorize this user.
It might be the length of the ID, it's 10 digits while all other ID's I've added are 9 digits. Might be that new Telegram ID's are longer now.
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.
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.
If a user in a Telegram group makes a search, every groupmember can see it.
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
Is this not a ombi-bot?
Or are you going to add more non-ombi features?
Just curious 😁
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)
add ability to click next on a request if the movie/tv returned isnt the one you wanted
if there are no hits, see if the query gets a shit on various databases (tvdb/tmdb) and return that result
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.