Skip to content

Commit

Permalink
Fix fallback build number retrieval (#596)
Browse files Browse the repository at this point in the history
  • Loading branch information
ye4241 authored Nov 11, 2023
1 parent 2ded71b commit 4076a3b
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions discord/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -1473,17 +1473,18 @@ async def _get_info(session: ClientSession) -> Tuple[Dict[str, Any], str]:

async def _get_build_number(session: ClientSession) -> int: # Thank you Discord-S.C.U.M
"""Fetches client build number"""
default_build_number = 9999
try:
login_page_request = await session.get('https://discord.com/login', timeout=7)
login_page = await login_page_request.text()
build_url = 'https://discord.com/assets/' + re.compile(r'assets/+([a-z0-9]+)\.js').findall(login_page)[-2] + '.js'
build_request = await session.get(build_url, timeout=7)
build_file = await build_request.text()
build_index = build_file.find('buildNumber') + 24
return int(build_file[build_index : build_index + 6])
build_find = re.findall(r'Build Number:\D+"(\d+)"', build_file)
return int(build_find[0]) if build_find else default_build_number
except asyncio.TimeoutError:
_log.critical('Could not fetch client build number. Falling back to hardcoded value...')
return 9999
return default_build_number


async def _get_user_agent(session: ClientSession) -> str:
Expand Down

0 comments on commit 4076a3b

Please sign in to comment.