IsThereAnyDeal API integration for RGIT #85

Closed
opened 2025-10-23 15:36:11 -04:00 by sirdog3355 · 3 comments
sirdog3355 commented 2025-10-23 15:36:11 -04:00 (Migrated from github.com)

Note

This feature is not guaranteed to be added.

This would be a major feature addition given, again, persistant data would need to be introduced. And this would also be my first time, as a developer, using someone else's API. But this seems like it would be a major win given EDC is shifting more into a RGIT-style community than an Arma community.

Right now how EDCs RGIT (regular games irregular times) vote works is that people can suggest games to go on the poll, and then Fleff by-hand selects games which have deals going on per IsThereAnyDeal. He does this with a private listing of these games.

Desired functionality

Ability to add and remove games from a list that EnduraBot keeps track of and then query the IsThereAnyDeal API to see which games on that list have deals.

Steps to get here

The steps to get here would be more-or-less this:

  • Await confirmation that this use case is acceptable per their API terms of service
  • Refactor organization of files to make way for API integration
  • Create a SQLITE database and confirm EnduraBot is speaking and connecting to it
  • Create table for the suggested RGIT games
  • Create command(s) to add or remove RGIT games
    • Figure out what kind of unique identifier is necessary - if applicable - so IsThereAnyDeal and EnduraBot know which games are being talked about.
  • Figure out IsThereAnyDeal API to query for a game which has a deal
  • Configure query to specify games with deals meeting criteria Fleff uses (make this configurable)
    • (not possible with API endpoints)
  • Create command that spits out an embed of games meeting the criteria
>[!note] >This feature is not guaranteed to be added. This would be a _major_ feature addition given, again, persistant data would need to be introduced. And this would also be my first time, as a developer, using someone else's API. But this seems like it would be a major win given EDC is shifting more into a RGIT-style community than an Arma community. Right now how EDCs RGIT (regular games irregular times) vote works is that people can suggest games to go on the poll, and then Fleff by-hand selects games which have deals going on per [IsThereAnyDeal](https://isthereanydeal.com/). He does this with a private listing of these games. ### Desired functionality Ability to add and remove games from a list that EnduraBot keeps track of and then query the IsThereAnyDeal API to see which games on that list have deals. ### Steps to get here The steps to get here would be more-or-less this: - [x] Await confirmation that this use case is acceptable per their [API terms of service](https://docs.isthereanydeal.com/) - [x] Refactor organization of files to make way for API integration - [x] Create a SQLITE database and confirm EnduraBot is speaking and connecting to it - [x] Create table for the suggested RGIT games - [x] Create command(s) to add or remove RGIT games - [x] Figure out what kind of unique identifier is necessary - if applicable - so IsThereAnyDeal and EnduraBot know which games are being talked about. - [x] Figure out IsThereAnyDeal API to query for a game which has a deal - [x] ~~Configure query to specify games with deals meeting criteria Fleff uses (make this configurable)~~ - (_not possible with API endpoints_) - [x] Create command that spits out an embed of games meeting the criteria
sirdog3355 commented 2025-10-23 15:39:32 -04:00 (Migrated from github.com)
API documentation: https://docs.isthereanydeal.com/
sirdog3355 commented 2025-10-27 05:01:33 -04:00 (Migrated from github.com)

Made significant progress. The code for custom classes and API calls to add and remove games from a DB table of RGIT games with deals is all done. We may want to add more queryable details, like the hosting requirements and all that jazz, but that can come in a future release.

The remaining work to be done is to create the means to output a list of every game in the table, followed by the jewel: a command that takes all the games in the table, sends it to ITAD, gets back deal data, and then present that appropriately.

Misc todo:

  • Ensure all embeds outputting ITAD data have an attribution footer per their TOS
  • Get logging in place
  • Placeholder
Made significant progress. The code for custom classes and API calls to add and remove games from a DB table of RGIT games with deals is all done. We may want to add more queryable details, like the hosting requirements and all that jazz, but that can come in a future release. The remaining work to be done is to create the means to output a list of every game in the table, followed by the jewel: a command that takes all the games in the table, sends it to ITAD, gets back deal data, and then present that appropriately. Misc todo: - [x] Ensure all embeds outputting ITAD data have an attribution footer per their TOS - [ ] Get logging in place - [ ] Placeholder
sirdog3355 commented 2025-10-28 05:22:03 -04:00 (Migrated from github.com)

Closed by #95

Closed by #95
Sign in to join this conversation.
No description provided.