darrenfoley / Asiago

A Discord bot written in C#
GNU General Public License v3.0
1 stars 0 forks source link

Gamedeals command doesn't respond when given certain inputs #23

Closed darrenfoley closed 1 month ago

darrenfoley commented 1 month ago

Describe the bug The command /gamedeals title: Dead Space country: Canada fails to respond.

To Reproduce Steps to reproduce the behavior: As above

Expected behavior It should either respond with game deal information or an error message

darrenfoley commented 1 month ago

Looked into this.. It's due to an issue in the https://docs.isthereanydeal.com/#tag/games/operation/games-info-v2 endpoint of the ITAD api. Normally, the assets property it returns is a json object with the bannerXYZ and boxart properties, as per the docs. However, if I make the request: GET https://api.isthereanydeal.com/games/info/v2?key=<my key>&id=018d937e-fd71-72fd-83a0-96308210bb71, it's returning an empty array for assets (an empty object would be fine, as per the docs).

I've raised the issue in the ITAD discord, so hopefully it will get fixed. However, we should probably just wrap the deserialization in a try/catch and log errors to be safe if any other edge cases come up.

I think I'm also going to take this opportunity to move the ITAD stuff back into the main Asiago project, as I think it would just make more sense at this point, especially now that things are upgraded and simplified in the ITAD code.