Skip to content

controlado/nickname-lol-checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 League Nickname Checker

About me:

  • info
  • languages languages3
  • ide ide1

Variables:

🍵 (class)
  headers = {"User-Agent": "Mozilla/5.0"}
  lols_gg = "https://lols.gg/en/name/checker"
  lol_names = "https://lolnames.gg/en"
🍵 (instance)
  nickname = self.valid_nickname(nickname)
  region = region.upper()

Instance methods:

✅ (start) -> dict: checker response
  def start(self) -> dict:
      return (
          {
              "statusCode": 200,
              "nickname": self.nickname,
              "region": self.region,
              "lolsGG": self.check_nickname(self.lols_gg),
              "lolNames": self.check_nickname(self.lol_names)
          }

          if self.is_request_valid()

          else {
              "statusCode": 400,
              "nickname": self.nickname,
              "region": self.region,
              "lolsGG": None,
              "lolNames": None
          }
      )
✅ (check_nickname) -> int: get_left_time(response.text)
  def check_nickname(self, url: str) -> int:
      url = f"{url}/{self.region}/{self.nickname}"
      response = requests.get(url, headers=self.headers)
      return self.get_left_time(response.text)
✅ (is_request_valid) -> bool: true if the nickname follows the riot rules and is a valid region
  def is_request_valid(self) -> bool:
      return (
          2 < len(self.nickname) < 17
          and "Riot" not in self.nickname
          and self.region in self.get_valid_regions()
      )
✅ (get_left_time) -> int: days left until the nick becomes available
  def get_left_time(self, response_text: str) -> int:
      response = re.search("available in ([^.]*) days.", response_text)
      return int(response[1]) if response is not None else 0

Static (class) methods:

🌱 (get_valid_regions) -> list: with all valid regions
  def get_valid_regions() -> list:
      return ["BR", "NA", "OCE", "LAS", "LAN", "EUNE", "EUW", "KR", "JP", "RU", "TR"]
🌱 (valid_nickname) -> str: containing only numbers, letters and space
  def valid_nickname(nickname: str) -> str:
      return re.sub("[^0-9a-zA-Zç ]", "", nickname)

⚠️ License: