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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user