team-creative-name / plexi Goto Github PK
View Code? Open in Web Editor NEWA Discord bot that integrates with Ombi
License: GNU Affero General Public License v3.0
A Discord bot that integrates with Ombi
License: GNU Affero General Public License v3.0
Plexi does not currently check to make sure that a reaction is valid. If an already requested movie is searched for and a user manually adds a thumbs up emote, Plexi will attempt to request it again. This works for any of the emotes that Plexi recognizes.
@kgranger777 should take a look at this issue. Might be a good place for him to start.
The issue lies within the handleMessageReactionAddAction method in the SearchSubmenu class.
Currently, the paginator class goes straight for a submenu if there is only one result on the main menu. This is intended behavior. The issue is that we still send the first menu over and then immediately send the second menu to discord and edit the message. Not only is this sending more data, but the user can see the first menu for a brief second before the message is edited.
Proposal: We should make the paginator class go straight into a submenu if it meets the criteria instead of doing what it currently does.
Describe the bug
When a user searches for media via the search command, Plexi logs the user, query, and number of results for the search. In the results portion of that log, it currently states " There result is X pages long" where X is the number of results.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The sentence should state "The result is X pages long" We should change There
to The
and remove the double space before the X.
Screenshots
Screenshot of typo
Plexi Host System:
Additional context
NA
For some reason, totally not because I'm to lazy to get episode requests working, plexi is unable to request television shows. Ideally, Plexi should be able to request the entire show or just the latest season.
Features to add
Items to remove
All of the code needs documentation. We CANNOT release v1.0 without doing so. Its starting to get to the point where I am losing track of some of the lesser edited parts of Plexi.
There should be a button in the MovieMoreInfo embed that results in a new view being presented (paginated) that allows the user to view movies that tmdb believes are similar to the original.
@Copetan Which emoji should we use for this?
Currently, admins need to log into ombi to approve media requests. Plexi should be able to approve media using the following commands:
[PREFIX]approve tv ID_NUMBER
[PREFIX]approve movie ID_NUMBER
Plexi should be able to tell users what is currently popular.
Command Structure:
.top movie
.top show
Command returns a paginated embed (similar to the search command) that allows users to go through and request media if they want
If a bit of media is requested but still not approved, Plexi will show it as being fully requested despite that not being true.
Seemingly randomly, Plexi is unable to shut down properly. Following is the error printed to the log:
279525 [JDA Gateway-Worker 1] ERROR net.dv8tion.jda.internal.requests.WebSocketClient - Was unable to schedule next packet due to rejected execution by threadpool
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@43e66292 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@4d21949e[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 8]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:326)
at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533)
at net.dv8tion.jda.internal.requests.WebSocketSendingThread.scheduleIdle(WebSocketSendingThread.java:82)
at net.dv8tion.jda.internal.requests.WebSocketSendingThread.scheduleNext(WebSocketSendingThread.java:167)
at net.dv8tion.jda.internal.requests.WebSocketSendingThread.run(WebSocketSendingThread.java:157)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Even though this exception is thrown, the bot doesnt seem to have an issue shutting down.
Plexi is supposed to create a new config file and exit upon the first run. As of right now, it detects that it needs to generate a config file, but it does not actually generate anything.
Right now, plexi prints out every json file it downloads.
THIS SUCKS
Fix it
After running for a while, Plexi will report "WARNING: A connection to OMBI_URL was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);"
This is something that needs to be addressed.
The plexi ascii art looks wrong when displayed in the GUI. Not sure why
Is your feature request related to a problem? Please describe.
If the application were to crash due to an issue, we wouldn't be able to determine the exact cause of the issue. This and the fact that it would be nice to have the ability to audit past user actions / issues means that we should add a proper logging feature.
Describe the solution you'd like
Implement a text file that logs all activity/errors. If possible, make it so the log was timestamped and make each launch its own text file.
Describe alternatives you've considered
There is no current way to do this within Plexi
Additional context
It might be worthwhile to look into the logging lib that JDA uses since it is already included in the project. It might have a way to do this without too much additional work.
Describe the bug
Occasionally, there will be a reaction (or multiple) missing from the search paginator. This most likely extends to the others as they all share the same base class. Manually adding the reaction works just fine.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
All emotes required to use the paginator should appear.
Plexi Host System:
Additional context
In my testing it seems to happen the most on the first time a paginator of any type is created by plexi.
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.