sherlock-project/sherlock

Add game related categorization and functionality

Opened this issue · 2 comments

Checklist

  • I'm reporting a feature request
  • I've checked for similar feature requests including closed ones

Description

As many issues, open and closed ones (#1914 , #1573 ), have proposed I would like to also recommend the addition of categorization to the list of supported sites. The reason behind opening a new issue on the matter, is to specify the benefit behind categorizing the sites into game related or not, which would allow the user, with a minor addition to the functionality, to check whether or not a username has been taken on gaming sites, making sherlock the perfect candidate to find a unique and consistent gamer tag.

My idea behind implementing this would be the addition of a boolean is_Game tag, that would be true on game related sites and false on all the others, in a similiar way to the already existing is_NSFW tag. In terms of the added functionality, I would propose an optional --game argument that would allow the user to check through only the game related sites (the sites where is_Game is true).

I would like to work on this, if the team would be interested.

(not the maintainer, just a random)

While not useful for me personally, it sounds like an interesting option to add, if done well. I don't like the is_Game key, though. After a while, that would get quite bulky with other categories being added.

How about key tags accepting a str or list of str

List (items with multiple tags):

"SteamGroup": {
    "errorMsg": "No group could be retrieved for the given URL",
    "errorType": "message",
    "tags": [
        "nsfw",
        "game"
    ],
    "url": "https://steamcommunity.com/groups/{}",
    "urlMain": "https://steamcommunity.com/",
    "username_claimed": "blue"
  }

Singlet:

"SteamGroup": {
    "errorMsg": "No group could be retrieved for the given URL",
    "errorType": "message",
    "tags": "game"
    "url": "https://steamcommunity.com/groups/{}",
    "urlMain": "https://steamcommunity.com/",
    "username_claimed": "blue"
  }

This could be normalized within sherlock by a quick

site_tags = net_info.get["tags"]
if isistance(site_tags, str):
    site_tags = [site_tags]

allowing all checks to just be a if "game" in site_tags

Categories could (imo, should) likely be enumed for consistency.