Procházet zdrojové kódy

Added function to clear fulfilled rewards when a new stream starts

DeadTOm před 5 dny
rodič
revize
e0a74c4a0a
1 změnil soubory, kde provedl 5 přidání a 2 odebrání
  1. 5 2
      ownchatbot/webhooks.py

+ 5 - 2
ownchatbot/webhooks.py

@@ -1,5 +1,5 @@
 from flask import Flask, request, json, Blueprint, current_app, render_template, jsonify, request, g
-from ownchatbot.db import get_db
+from ownchatbot.db import get_db, clear_fulfilled_rewards
 from ownchatbot.owncast_com import send_chat, send_private_chat
 from ownchatbot.user_handlers import add_user_to_points, change_name, get_users_points, remove_duplicates, get_email_code, set_email_code, award_chat_points, user_in_points, get_all_users_with_user_id
 from ownchatbot.bot_messages import do_reward, help_message
@@ -22,7 +22,6 @@ def chat_hook():
     prefix = current_app.config['PREFIX']
     data = request.json
     db = get_db()
-
     if data['type'] in ['CHAT', 'NAME_CHANGED', 'USER_JOINED']:  # Check if the viewer is in the chatbot database
         user_id = data['eventData']['user']['id']
         authed = data['eventData']['user']['authenticated']
@@ -31,6 +30,10 @@ def chat_hook():
             current_app.logger.debug(f'Added/updated {user_id} database.')
         current_app.logger.debug(f'{display_name}/{user_id}: {data["eventData"]}')  # Log all chat messages
 
+    if data['type'] == 'STREAM_STARTED':
+        if clear_fulfilled_rewards():
+            current_app.logger.info('Cleared fulfilled rewards, since we\'re starting a new stream.')
+
     if data['type'] == 'USER_JOINED':  # Do username house cleaning when a viewer joins
         if data['eventData']['user']['authenticated']:
             remove_duplicates(db, user_id, display_name)