diff --git a/tlapbot/__init__.py b/tlapbot/__init__.py index 66f0f3e..ecd3909 100644 --- a/tlapbot/__init__.py +++ b/tlapbot/__init__.py @@ -5,9 +5,10 @@ from apscheduler.schedulers.background import BackgroundScheduler from tlapbot.db import get_db from tlapbot.owncast_requests import is_stream_live, give_points_to_chat + def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) - + # ensure the instance folder exists try: os.makedirs(app.instance_path) @@ -29,19 +30,18 @@ def create_app(test_config=None): gunicorn_logger = logging.getLogger('gunicorn.error') app.logger.handlers = gunicorn_logger.handlers app.logger.setLevel(gunicorn_logger.level) - + # Check for wrong config that would break Tlapbot if len(app.config['PREFIX']) != 1: raise RuntimeError("Prefix is >1 character. " "Change your config to set 1-character prefix.") - + # Check for spaces in redeems (they won't work) for redeem in app.config['REDEEMS']: if ' ' in redeem: app.logger.warning(f"Redeem '{redeem}' has spaces in its name.") app.logger.warning("Redeems with spaces are impossible to redeem.") - # prepare webhooks and redeem dashboard blueprints from . import owncast_webhooks from . import tlapbot_dashboard @@ -57,7 +57,7 @@ def create_app(test_config=None): app.cli.add_command(db.refresh_milestones_command) app.cli.add_command(db.reset_milestone_command) app.cli.add_command(db.hard_reset_milestone_command) - + # scheduler job for giving points to users def proxy_job(): with app.app_context(): diff --git a/tlapbot/db.py b/tlapbot/db.py index 47bdbcb..0a0becd 100644 --- a/tlapbot/db.py +++ b/tlapbot/db.py @@ -6,6 +6,7 @@ from flask.cli import with_appcontext from tlapbot.redeems import milestone_complete + def get_db(): if 'db' not in g: g.db = sqlite3.connect( @@ -127,7 +128,7 @@ def refresh_milestones(): def reset_milestone(milestone): - if not milestone in current_app.config['REDEEMS']: + if milestone not in current_app.config['REDEEMS']: print(f"Failed resetting milestone, {milestone} not in redeems file.") return False try: @@ -147,7 +148,6 @@ def reset_milestone(milestone): return False - @click.command('init-db') @with_appcontext def init_db_command(): @@ -184,7 +184,7 @@ def refresh_and_clear_command(): @click.command('refresh-milestones') @with_appcontext def refresh_milestones_command(): - """Initialize all milestones from the redeems file, + """Initialize all milestones from the redeems file, delete milestones not in redeem file.""" if refresh_milestones(): click.echo('Refreshed milestones.') diff --git a/tlapbot/owncast_helpers.py b/tlapbot/owncast_helpers.py index 50b2c79..27bf1ed 100644 --- a/tlapbot/owncast_helpers.py +++ b/tlapbot/owncast_helpers.py @@ -2,6 +2,7 @@ from flask import current_app from sqlite3 import Error from re import sub + # # # db stuff # # # def read_users_points(db, user_id): """Errors out if user doesn't exist.""" diff --git a/tlapbot/owncast_requests.py b/tlapbot/owncast_requests.py index 6656c4d..dc4e6d1 100644 --- a/tlapbot/owncast_requests.py +++ b/tlapbot/owncast_requests.py @@ -45,4 +45,3 @@ def send_chat(message): current_app.logger.error(f"Check owncast instance url and access key.") return return r.json() - diff --git a/tlapbot/redeems_handler.py b/tlapbot/redeems_handler.py index 1420e2e..cf42d3f 100644 --- a/tlapbot/redeems_handler.py +++ b/tlapbot/redeems_handler.py @@ -1,7 +1,7 @@ from flask import current_app from tlapbot.db import get_db 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) from tlapbot.owncast_helpers import use_points, read_users_points @@ -44,7 +44,7 @@ def handle_redeem(message, user_id): else: send_chat(f"Redeeming milestone {redeem} failed.") return - + # handle redeems with price argument price = current_app.config['REDEEMS'][redeem]["price"] if not points or points < price: diff --git a/tlapbot/tlapbot_dashboard.py b/tlapbot/tlapbot_dashboard.py index 927cfa6..d1b449b 100644 --- a/tlapbot/tlapbot_dashboard.py +++ b/tlapbot/tlapbot_dashboard.py @@ -1,7 +1,7 @@ from flask import render_template, Blueprint, request, current_app from tlapbot.db import get_db from tlapbot.redeems import all_active_counters, all_active_milestones, all_active_redeems, pretty_redeem_queue -from tlapbot.owncast_helpers import read_all_users_with_username +from tlapbot.owncast_helpers import read_all_users_with_username from datetime import timezone bp = Blueprint('redeem_dashboard', __name__)