Bypass initial chat captcha if solved access captcha

このコミットが含まれているのは:
n9k 2022-06-23 02:53:38 +00:00
コミット 3bb2a81c5a
3個のファイルの変更9行の追加5行の削除

ファイルの表示

@ -22,7 +22,9 @@ def generate_token_hash_and_tag(token):
return token_hash, tag
def generate_user(timestamp, token, broadcaster, presence):
def generate_user(
timestamp, token, broadcaster, verified=False, presence=Presence.NOTWATCHING,
):
colour = generate_colour(
seed='name\0' + token,
bg=CONFIG['CHAT_BACKGROUND_COLOUR'],
@ -34,7 +36,7 @@ def generate_user(timestamp, token, broadcaster, presence):
'token_hash': token_hash,
'tag': tag,
'broadcaster': broadcaster,
'verified': broadcaster,
'verified': verified or broadcaster,
'websockets': {},
'name': None,
'color': colour_to_color(colour),

ファイルの表示

@ -112,7 +112,7 @@ async def access(timestamp, user_or_token):
failure_id = add_failure('Captcha has expired')
case Answer.OK:
failure_id = None
user = generate_and_add_user(timestamp, token)
user = generate_and_add_user(timestamp, token, verified=True)
if failure_id is not None:
url = url_for('home', token=token, failure=failure_id)
raise abort(redirect(url, 303))

ファイルの表示

@ -72,13 +72,15 @@ def auth_required(f):
return response
return wrapper
def generate_and_add_user(timestamp, token=None, broadcaster=False):
def generate_and_add_user(
timestamp, token=None, broadcaster=False, verified=False,
):
token = token or generate_token()
user = generate_user(
timestamp=timestamp,
token=token,
broadcaster=broadcaster,
presence=Presence.NOTWATCHING,
verified=verified,
)
USERS_BY_TOKEN[token] = user
USERS_UPDATE_BUFFER.add(token)