kyle-undefined / poe-bot Goto Github PK
View Code? Open in Web Editor NEWA bot for the Path Of Exile Console Discord server, bringing PC-like features over to Consoles.
License: ISC License
A bot for the Path Of Exile Console Discord server, bringing PC-like features over to Consoles.
License: ISC License
Look into pulling info from the audit logs, either automatically or on demand. Make stats use audit log data for info like on bans and such
Replace Nickname ?? Username with the user extension
Replace Avatar ?? DefaultAvatar with the user extension
Make it pm user being warned and the reason
With our most recent issue (which was not caused by functionality), it became clear that the bot needs a simple way to configure the timers for specific RSS Feed request intervals. Currently they are hardcoded, which means a code update/pull request to make any changes to the timers. Adding a configuration option would remove the need to update the code to perform a simple configuration change.
Look into replacing embeds with plain text where it makes sense
Make eval command an embed and have it show the code being evaled and result in code blocks, and use color for success/error and show compile time and such
Look into making commands embed look like gabybots or others
https://oof.is-my-life.style/Yb8BOs9r.png
EmbedBuilder#AddEmptyField extension created, just needs to be used
Make all configuration of these games and path of building be in the DB so they can be changed without having to restart bot
Simple quote command that has PoE quotes and chooses one randomly. Look into voice quotes as well.
create a ticket system for price checks:
Price checker ticketing system:
User enters price checker channel โaโ
Posts !pricecheck and links the item
Messages are only visible in this Chanel to their own poster
Bot reposts the message in price checker "working" channel (seperate channel only available to price checkers / mods / staff)
PC's discuss the price of a ticket item and come to a conclusion
PC types !price [ticket number] "message e.g we value your item at x price; etc values it at x price"
Bot sends a pm to the user; closes the ticket and says who initiated the !price command so the user knows who wrote the price up
Create a fusing lottery system that requires Lottery Warden role. So what I'm thinking is a system that combines the price checker management, with shop usability. Maybe even a cases style system too. The lotto will be based on league and item and user tag and reward. Users will be able to enter into the lotto and give the LW the fusings to bet. LW needs to be able to manage who is in and the items and pretty much all data regarding lottos and
participants.
Look into it updating the lotto tag as well.
Create a command like tatsu "hackerman" command and see if it's based on madlib style or another
Look into mod+ being able to edit/delete tags and such
FluentScheduler
is deprecating several features soon, most notably dependency injection. Moving to the standard Registry => IJob
usage will facilitate many of our future steps toward automated CI/CD and will allow a more portable and maintainable modularization of each Job and the JobsService
, itself. Completion of this Issue will help and be helped by completion of #35 and its related Issues
https://hastebin.com/udafejepeb.coffeescript
Configure rules isn't updating the rules nor showing preview of them. Need to figure out why.
make the trial command not be role based and make it store users for that trial per league they specify, so it pings the users themselves so we can have one lab channel instead of three
have to make a typereader for the trialname enum or think of a different approach of handling the trial name so it's not text based
RSS Feeds are often auto-managed by a variety of entities, each with its own security policy based on request limits. Setting a specific time interval for all Feeds runs two potential risks:
We recently ran into this problem with pathofexile.com, where our timer was too frequent, causing the IP of POE-Bot to be banned. Adding a timer to each Feed independently would allow the bot to keep timely on faster services, but conform to the restrictions of the others.
This is a composite issue: There will be specific issues for each Job, so that they may be tracked as each is completed.
A service is/should be a set of functionality that is (typically openly) available for clients and consumers to use. In the circumstance of JobsService, it is combined with several other (current) services that are simply tasks performed at specific intervals. The list includes RssService, Leaderboards Service and StreamsService.
There is little reason to keep these available as a Service as they completely encapsulate their work process. In fact, they are more cleanly defined as Workers rather than Services. Redefining them as Workers, rather than Services will allow more SOLID architecture, cleaner instancing, lighter memory usage, and better reporting. It will also facilitate looser coupling, testing/mocking, and will allow event-based processing. Finally, it will accommodate issues similar to #30 and #31 much more easily.
Path of Exile recently changed the naming/URL scheme of their Leaderboards, leaving our poor little bot in the lurch for the past league. A simple formattable (get-/set-)table configuration setting would allow us to make the necessary fix without having to modify otherwise stable code.
Currently, without a test framework, jobs with longer intervals require an inordinate amount of time to test. Even upon completion of implementation changes, the first job processing must wait until the interval has passed. To allow more immediate testing and use of improved implementations, the bot could run each job at its initialization. This allows more immediate testing until we can automate the tests, and more timely updates when functionality has changed.
Just recently ran into a problem where mutes stopped working. The cause was not code-related, but rather that the Role previously associated with muting had a newly assigned Role ID. The bot failed requests to mute silently, even to the point that it stopped writing Mute Cases to the local data repository.
To fix this, a check should be added to the "mute"
command. If it fails to result in a known Role, it should error and notify. Such a notification would have saved almost a month of downtime for this feature.
Look into RePoE and see if it can be integrated in the bot.
make !price say something like "We have discontinued until further notice, sorry for the inconvenience."
Change the Wiki scrape system to use the Cargo API instead so it's more accurate and better coded.
ocr with azure recognizeText API. same set of APIs, there is OCR and RecognizeText, the latter still being OCR but english only
https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/quickstarts/csharp
Look into adding a "fusing" game to the bot. Where they get it from being active in chat and can bet their fusing to see if they can 6l an item and if they do, it celebrates. A give fusings command that runs every x minutes that they can get fusings from the bot and has a leaderboard where it shows who's linked something in the lowest amount of fusings. "kuduku has blessed you with x fusings!" When getting fusings from bot. Add to profile how many fusings someone has and how many six links they have. Give them a random item that can be six linked with weapons and armor as the base and use the GGG odds for actually 6l. This item will be their item until it's 6l and then they get a new random item. Display this on leaderboard and profile as well. Look into showing the use of the fusing on the item and see progress on each fuse roll on the item. When checking the roll have it check which links are possible and permutations of that link is available and show that. From Tsulong#0943
Vaal game where people can use Vaal orbs on items and see what they get and say what mod a successful Vaal got. Make it be based on actual mods each base can get. Make it so you have to buy vaals using fusings.
Fix commands to return on error and stop execution
Add Welcome/Leave messages
Add a currency system
Add a leveling system for being active in the chat, which gives them currency
Add leaderboard for levels
Expand Profile system to include XP, Levels, Currency, etc
Add giveaway system
Add starboard, but look into naming it Vaal board or something
The hardcoded URL no longer matches GGG's URL scheme for distributing Leaderboard CSV. Simple fix.
This is going to be a long-term issue until we feel most of the baselines are covered in terms of Tokens and Patterns. This issue is made specifically to provide a forum for questions and discussion of the conventions and style used within PoE-Bot.
As of PR #34, there will be the beginnings of STYLE_GUIDE.md for contributors to our project to follow. To enable conformance, .editorconfig will help with editor behaviors specific to PoE-Bot and issue notices and warnings for failure to conform.
As such, each STYLE_GUIDE addition that requires any form or character or format conformance, will have a relevant change to .editorconfig.
Fix list commands so they show the data
look into Xbox api stuff and see if it can be integrated
https://www.nuget.org/packages/OpenXbox.XboxWebApi/
https://github.com/XboxLeaders/XboxLiveAPI
Cases not listing and are not being filtered properly
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.