change webhook to use rawBody instead of body when reading msg
remove_emoji function is now unused, as shortcodes get scrubbed in rawBody now
This commit is contained in:
parent
e5e88bf520
commit
7ffb1a15b0
|
@ -121,6 +121,7 @@ def remove_duplicate_usernames(db, user_id, username):
|
||||||
|
|
||||||
|
|
||||||
# # # misc. stuff # # #
|
# # # misc. stuff # # #
|
||||||
|
# This is now unused since rawBody attribute of the webhook now returns cleaned-up emotes.
|
||||||
def remove_emoji(message):
|
def remove_emoji(message):
|
||||||
return sub(
|
return sub(
|
||||||
r'<img class="emoji" alt="(:.*?:)" title=":.*?:" src="/img/emoji/.*?">',
|
r'<img class="emoji" alt="(:.*?:)" title=":.*?:" src="/img/emoji/.*?">',
|
||||||
|
|
|
@ -36,22 +36,23 @@ def owncast_webhook():
|
||||||
user_id = data["eventData"]["user"]["id"]
|
user_id = data["eventData"]["user"]["id"]
|
||||||
display_name = data["eventData"]["user"]["displayName"]
|
display_name = data["eventData"]["user"]["displayName"]
|
||||||
current_app.logger.debug(f'New chat message from {display_name}:')
|
current_app.logger.debug(f'New chat message from {display_name}:')
|
||||||
|
current_app.logger.debug(f'{data["eventData"]["rawBody"]}')
|
||||||
current_app.logger.debug(f'{data["eventData"]["body"]}')
|
current_app.logger.debug(f'{data["eventData"]["body"]}')
|
||||||
if data["eventData"]["body"].startswith(f"{prefix}help"):
|
if data["eventData"]["rawBody"].startswith(f"{prefix}help"):
|
||||||
send_help()
|
send_help()
|
||||||
elif data["eventData"]["body"].startswith(f"{prefix}points"):
|
elif data["eventData"]["rawBody"].startswith(f"{prefix}points"):
|
||||||
points = read_users_points(db, user_id)
|
points = read_users_points(db, user_id)
|
||||||
if points is None:
|
if points is None:
|
||||||
send_chat("Error reading points.")
|
send_chat("Error reading points.")
|
||||||
else:
|
else:
|
||||||
send_chat(f"{display_name}'s points: {points}")
|
send_chat(f"{display_name}'s points: {points}")
|
||||||
elif data["eventData"]["body"].startswith(f"{prefix}name_update"):
|
elif data["eventData"]["rawBody"].startswith(f"{prefix}name_update"):
|
||||||
# Forces name update in case bot didn't catch the NAME_CHANGE
|
# Forces name update in case bot didn't catch the NAME_CHANGE
|
||||||
# event. Also removes saved usernames from users with same name
|
# event. Also removes saved usernames from users with same name
|
||||||
# if user is authenticated.
|
# if user is authenticated.
|
||||||
change_display_name(db, user_id, display_name)
|
change_display_name(db, user_id, display_name)
|
||||||
if data["eventData"]["user"]["authenticated"]:
|
if data["eventData"]["user"]["authenticated"]:
|
||||||
remove_duplicate_usernames(db, user_id, display_name)
|
remove_duplicate_usernames(db, user_id, display_name)
|
||||||
elif data["eventData"]["body"].startswith(prefix):
|
elif data["eventData"]["rawBody"].startswith(prefix):
|
||||||
handle_redeem(data["eventData"]["body"], user_id)
|
handle_redeem(data["eventData"]["rawBody"], user_id)
|
||||||
return data
|
return data
|
||||||
|
|
|
@ -3,7 +3,7 @@ from tlapbot.db import get_db
|
||||||
from tlapbot.owncast_requests import send_chat
|
from tlapbot.owncast_requests import send_chat
|
||||||
from tlapbot.redeems import (add_to_redeem_queue, add_to_counter, add_to_milestone,
|
from tlapbot.redeems import (add_to_redeem_queue, add_to_counter, add_to_milestone,
|
||||||
check_apply_milestone_completion, milestone_complete, is_redeem_active)
|
check_apply_milestone_completion, milestone_complete, is_redeem_active)
|
||||||
from tlapbot.owncast_helpers import use_points, read_users_points, remove_emoji
|
from tlapbot.owncast_helpers import use_points, read_users_points
|
||||||
|
|
||||||
|
|
||||||
def handle_redeem(message, user_id):
|
def handle_redeem(message, user_id):
|
||||||
|
@ -64,7 +64,7 @@ def handle_redeem(message, user_id):
|
||||||
if not note:
|
if not note:
|
||||||
send_chat(f"Cannot redeem {redeem}, no note included.")
|
send_chat(f"Cannot redeem {redeem}, no note included.")
|
||||||
return
|
return
|
||||||
if (add_to_redeem_queue(db, user_id, redeem, remove_emoji(note)) and
|
if (add_to_redeem_queue(db, user_id, redeem, note) and
|
||||||
use_points(db, user_id, price)):
|
use_points(db, user_id, price)):
|
||||||
send_chat(f"{redeem} redeemed for {price} points.")
|
send_chat(f"{redeem} redeemed for {price} points.")
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue