8 Commits
Author SHA1 Message Date
lili 2284fb3a00 1.2.2 release 2024-02-11 20:17:17 +01:00
lili 3fe454d35c promote to alpha 2 2024-02-10 15:00:35 +01:00
lili f1a57c16e4 style corrections 2024-02-10 13:38:26 +01:00
lili 7da002eb00 remove unused imports, variables 2024-02-10 13:33:09 +01:00
lili 5e7810eb9f another list_redeems fix
dont use list_redeems
2024-02-10 12:21:29 +01:00
lili 61d318f418 fix and improve LIST_REDEEMS 2024-02-10 11:57:57 +01:00
lili ba30c96c01 warning improvement 2024-02-10 11:49:09 +01:00
lili 6d3a4671cc fix dictionary iteration in redeems 2024-02-10 11:31:51 +01:00
9 changed files with 34 additions and 28 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ from setuptools import find_packages, setup
setup(
name='tlapbot',
version='1.2.2a1',
version='1.2.2',
packages=find_packages(),
include_package_data=True,
install_requires=[
+3 -4
View File
@@ -4,7 +4,7 @@ from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler
from tlapbot.db import get_db
from tlapbot.owncast_requests import is_stream_live, give_points_to_chat
from tlapbot.redeems import remove_inactive_redeems
def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True)
@@ -37,12 +37,11 @@ def create_app(test_config=None):
"Change your config to set 1-character prefix.")
# Check for spaces in redeems (they won't work)
for redeem, _ in app.config['REDEEMS']:
for redeem in app.config['REDEEMS']:
if ' ' in redeem:
app.logger.warning(f"Redeem {redeem} has spaces in its name.")
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
+2 -2
View File
@@ -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():
+10 -3
View File
@@ -14,10 +14,17 @@ def send_help():
if current_app.config['LIST_REDEEMS']:
message.append("Active redeems: <br>")
for redeem, redeem_info in current_app.config['REDEEMS'].items():
if 'info' in redeem_info:
message.append(f"!{redeem} for {redeem_info['price']} points. {redeem_info['info']} <br>")
if redeem_info.get('category', None):
if not set(redeem_info['category']).intersection(set(current_app.config['ACTIVE_CATEGORIES'])):
continue
if 'type' in redeem_info and redeem_info['type'] == 'milestone':
message.append(f"!{redeem} milestone with goal of {redeem_info['goal']}.")
else:
message.append(f"!{redeem} for {redeem_info['price']} points. <br>")
message.append(f"!{redeem} for {redeem_info['price']} points.")
if 'info' in redeem_info:
message.append(f" {redeem_info['info']} <br>")
else:
message.append("<br>")
else:
message.append("Check the dashboard for a list of currently active redeems.")
send_chat(''.join(message))
+3 -2
View File
@@ -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."""
@@ -97,7 +98,7 @@ def add_user_to_database(db, user_id, display_name):
def change_display_name(db, user_id, new_name):
try:
cursor = db.execute(
db.execute(
"UPDATE points SET name = ? WHERE id = ?",
(new_name, user_id)
)
@@ -109,7 +110,7 @@ def change_display_name(db, user_id, new_name):
def remove_duplicate_usernames(db, user_id, username):
try:
cursor = db.execute(
db.execute(
"""UPDATE points
SET name = NULL
WHERE name = ? AND NOT id = ?""",
-1
View File
@@ -45,4 +45,3 @@ def send_chat(message):
current_app.logger.error(f"Check owncast instance url and access key.")
return
return r.json()
+3 -3
View File
@@ -23,7 +23,7 @@ def counter_exists(db, counter_name):
def add_to_counter(db, counter_name):
if counter_exists(db, counter_name):
try:
cursor = db.execute(
db.execute(
"UPDATE counters SET count = count + 1 WHERE name = ?",
(counter_name,)
)
@@ -37,7 +37,7 @@ def add_to_counter(db, counter_name):
def add_to_redeem_queue(db, user_id, redeem_name, note=None):
try:
cursor = db.execute(
db.execute(
"INSERT INTO redeem_queue(redeem, redeemer_id, note) VALUES(?, ?, ?)",
(redeem_name, user_id, note)
)
@@ -159,7 +159,7 @@ def all_active_milestones(db):
return all_active_milestones
def all_active_redeems(db):
def all_active_redeems():
redeems = current_app.config['REDEEMS']
all_active_redeems = {}
for redeem_name, redeem_dict in redeems.items():
+2 -2
View File
@@ -2,7 +2,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 datetime import datetime, timezone
from datetime import timezone
bp = Blueprint('redeem_dashboard', __name__)
@@ -20,7 +20,7 @@ def dashboard():
queue=pretty_redeem_queue(db),
counters=all_active_counters(db),
milestones=all_active_milestones(db),
redeems=all_active_redeems(db),
redeems=all_active_redeems(),
prefix=current_app.config['PREFIX'],
passive=current_app.config['PASSIVE'],
username=username,