parent
189ffcc1a8
commit
82d9088c18
|
@ -3,6 +3,7 @@ OWNCAST_ACCESS_TOKEN=''
|
|||
OWNCAST_INSTANCE_URL='http://localhost:8080'
|
||||
POINTS_CYCLE_TIME=600
|
||||
POINTS_AMOUNT_GIVEN=10
|
||||
PASSIVE=False
|
||||
LIST_REDEEMS=False
|
||||
ACTIVE_CATEGORIES=[]
|
||||
GUNICORN=False
|
||||
|
|
|
@ -21,6 +21,7 @@ def dashboard():
|
|||
counters=all_counters(db),
|
||||
redeems=current_app.config['REDEEMS'],
|
||||
prefix=current_app.config['PREFIX'],
|
||||
passive=current_app.config['PASSIVE'],
|
||||
username=username,
|
||||
users=users,
|
||||
utc_timezone=utc_timezone)
|
||||
|
|
|
@ -30,26 +30,27 @@ def owncast_webhook():
|
|||
if data["eventData"]["user"]["authenticated"]:
|
||||
remove_duplicate_usernames(db, user_id, new_name)
|
||||
elif data["type"] == "CHAT":
|
||||
prefix = current_app.config['PREFIX']
|
||||
user_id = data["eventData"]["user"]["id"]
|
||||
display_name = data["eventData"]["user"]["displayName"]
|
||||
current_app.logger.debug(f'New chat message from {display_name}:')
|
||||
current_app.logger.debug(f'{data["eventData"]["body"]}')
|
||||
if data["eventData"]["body"].startswith(f"{prefix}help"):
|
||||
send_help()
|
||||
elif data["eventData"]["body"].startswith(f"{prefix}points"):
|
||||
points = read_users_points(db, user_id)
|
||||
if points is None:
|
||||
send_chat("Error reading points.")
|
||||
else:
|
||||
send_chat(f"{display_name}'s points: {points}")
|
||||
elif data["eventData"]["body"].startswith(f"{prefix}name_update"):
|
||||
# Forces name update in case bot didn't catch the NAME_CHANGE
|
||||
# event. Also removes saved usernames from users with same name
|
||||
# if user is authenticated.
|
||||
change_display_name(db, user_id, display_name)
|
||||
if data["eventData"]["user"]["authenticated"]:
|
||||
remove_duplicate_usernames(db, user_id, display_name)
|
||||
elif data["eventData"]["body"].startswith(prefix):
|
||||
handle_redeem(data["eventData"]["body"], user_id)
|
||||
if not current_app.config['PASSIVE']:
|
||||
prefix = current_app.config['PREFIX']
|
||||
user_id = data["eventData"]["user"]["id"]
|
||||
display_name = data["eventData"]["user"]["displayName"]
|
||||
current_app.logger.debug(f'New chat message from {display_name}:')
|
||||
current_app.logger.debug(f'{data["eventData"]["body"]}')
|
||||
if data["eventData"]["body"].startswith(f"{prefix}help"):
|
||||
send_help()
|
||||
elif data["eventData"]["body"].startswith(f"{prefix}points"):
|
||||
points = read_users_points(db, user_id)
|
||||
if points is None:
|
||||
send_chat("Error reading points.")
|
||||
else:
|
||||
send_chat(f"{display_name}'s points: {points}")
|
||||
elif data["eventData"]["body"].startswith(f"{prefix}name_update"):
|
||||
# Forces name update in case bot didn't catch the NAME_CHANGE
|
||||
# event. Also removes saved usernames from users with same name
|
||||
# if user is authenticated.
|
||||
change_display_name(db, user_id, display_name)
|
||||
if data["eventData"]["user"]["authenticated"]:
|
||||
remove_duplicate_usernames(db, user_id, display_name)
|
||||
elif data["eventData"]["body"].startswith(prefix):
|
||||
handle_redeem(data["eventData"]["body"], user_id)
|
||||
return data
|
||||
|
|
|
@ -10,7 +10,9 @@
|
|||
|
||||
<div class="tab">
|
||||
<button class="tablinks" onclick="openTab(event, 'dashboard')", id="defaultOpen">Tlapbot dashboard</button>
|
||||
{% if not passive %}
|
||||
<button class="tablinks" onclick="openTab(event, 'redeems-list')">Redeems help</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div id='dashboard' class="tabcontent">
|
||||
|
@ -32,46 +34,53 @@
|
|||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% if counters %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Active counters</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for counter in counters %}
|
||||
<tbody>
|
||||
<td> {{ counter[0] }} </td>
|
||||
<td> {{ counter[1] }} </td>
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% if passive %}
|
||||
<h3>Tlapbot is currently in passive mode.</h3>
|
||||
<p>You can't make any redeems, but you will receive points for watching.</p>
|
||||
{% endif %}
|
||||
|
||||
{% if queue %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Recent redeems</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Time</th>
|
||||
<th>Redeem</th>
|
||||
<th>Redeemer</th>
|
||||
<th>Note</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for row in queue %}
|
||||
<tbody>
|
||||
<td>{{ row[0].replace(tzinfo=utc_timezone).astimezone().strftime("%H:%M") }}</td>
|
||||
<td>{{ row[1] }}</td>
|
||||
<td>{{ row[3] }}</td>
|
||||
{% if row[2] %}
|
||||
<td>{{ row[2] }}</td>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% if not passive %}
|
||||
{% if counters %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Active counters</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for counter in counters %}
|
||||
<tbody>
|
||||
<td> {{ counter[0] }} </td>
|
||||
<td> {{ counter[1] }} </td>
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% if queue %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Recent redeems</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Time</th>
|
||||
<th>Redeem</th>
|
||||
<th>Redeemer</th>
|
||||
<th>Note</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for row in queue %}
|
||||
<tbody>
|
||||
<td>{{ row[0].replace(tzinfo=utc_timezone).astimezone().strftime("%H:%M") }}</td>
|
||||
<td>{{ row[1] }}</td>
|
||||
<td>{{ row[3] }}</td>
|
||||
{% if row[2] %}
|
||||
<td>{{ row[2] }}</td>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</body>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue