Compare commits

..

No commits in common. "e5e88bf52083759aabc822933f92fde157b73368" and "31426fd85139f0d6d8c23e35caa3ee0a4a294987" have entirely different histories.

3 changed files with 41 additions and 50 deletions

View File

@ -323,21 +323,22 @@ REDEEMS={
"lurk": {"price": 1, "type": "counter", "info": "Let us know you're going to lurk."},
"react": {"price": 200, "type": "note", "info": "Attach link to a video for me to react to."},
"request": {"price": 100, "type": "note", "info": "Request a level, gamemode, skin, etc."},
"go_nap": {"goal": 1000, "type": "milestone", "info": "Streamer will go nap when the goal is reached."},
"go_nap": {"type": "milestone", "info": "Streamer will go nap when the goal is reached.", "goal": 1000},
"inactive": {"price": 100, "type": "note", "info": "Example redeem that is inactive by default", "category": ["inactive"]}
}
```
#### File format
`redeems.py` is a config file with just a `REDEEMS` key, that assigns a dictionary of redeems to it.
Each dictionary entry is a redeem, and the dictionary keys are strings that decides the chat command for the redeem.
The value is another dictionary that needs to have an entry for `"type"` and
an entry for `"price"` for non-milestones or `"goal"` for milestones.
Optionally, each redeem can also have `"info"` and `"category"` entries.
The value is another dictionary that needs to have entries for `"type"`,
an entry for `"price"` unless the redeem is a milestone,
and optionally `"info"` and `"category"`.
If the `"type"` is `"milestone"`, there's an additional required `"goal"` field as well.
- `"price"` value should be an integer that decides how many points the redeem will cost. Milestone redeems don't use the `"price"` value, they instead need to have a `"goal"`.
- `"goal"` is a required field for milestone goals. It should be an integer, deciding the amount of points required to complete the milestone.
- `"price"` value should be an integer that decides how many points the redeem will cost. Milestone redeems don't use the `"price"` value.
- `"type"` value should be either `"list"`, `"counter"`, `"note"` or `"milestone"`. This decided the redeem's type, and whether it will show up as a counter at the top of the dashboard or as an entry in the "recent redeems" chart.
- `"info"` value should be a string that describes what the command does. It's optional, but I recommend writing one for all `"list"`, `"note"` and `"milestone"` redeems (so that chatters know what they're redeeming and whether they should leave a note).
- `"goal"` is a required field for milestone goals. It should be an integer, deciding the amount of points required to complete the milestone.
- `"category"` is an optional list of strings, the categories the redeem is in.
If a category from the list is in `ACTIVE_CATEGORIES` from `config.py`,
then the redeem will be active. It will not be active if none of the categories

View File

@ -3,6 +3,6 @@ REDEEMS={
"lurk": {"price": 1, "type": "counter", "info": "Let us know you're going to lurk."},
"react": {"price": 200, "type": "note", "info": "Attach link to a video for me to react to."},
"request": {"price": 100, "type": "note", "info": "Request a level, gamemode, skin, etc."},
"go_nap": {"goal": 1000, "type": "milestone", "info": "Streamer will go nap when the goal is reached."},
"go_nap": {"type": "milestone", "info": "Streamer will go nap when the goal is reached.", "goal": 1000},
"inactive": {"price": 100, "type": "note", "info": "Example redeem that is inactive by default", "category": ["inactive"]}
}

View File

@ -30,14 +30,12 @@
<th>Your points balance</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<tbody>
<td> {{ user[0] }} </td>
<td> {{ user[1] }} </td>
</tr>
{% endfor %}
</tbody>
{% endfor %}
</table>
{% endif %}
@ -54,14 +52,12 @@
<th>Active counters</th>
</tr>
</thead>
<tbody>
{% for counter in counters %}
<tr>
<tbody>
<td> {{ counter[0] }} </td>
<td> {{ counter[1] }} </td>
</tr>
{% endfor %}
</tbody>
{% endfor %}
</table>
{% endif %}
{% if milestones %}
@ -72,15 +68,13 @@
<th>Progress</th>
</tr>
</thead>
<tbody>
{% for milestone in milestones %}
<tr>
<tbody>
<td> {{ milestone[0] }} </td>
<td> <progress id="file" max={{ milestone[2] }} value={{ milestone[1] }}></progress></td>
<td> {{ milestone[1] }} / {{ milestone[2] }}</td>
</tr>
{% endfor %}
</tbody>
{% endfor %}
</table>
{% endif %}
{% endif %}
@ -105,18 +99,16 @@
<th>Note</th>
</tr>
</thead>
<tbody>
{% for row in queue %}
<tr>
<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 %}
</tr>
{% endfor %}
</tbody>
{% endfor %}
</table>
{% endif %}
</body>
@ -144,9 +136,8 @@
<th>Description</th>
</tr>
</thead>
<tbody>
{% for redeem, redeem_info in redeems.items() %}
<tr>
<tbody>
<td>{{ prefix }}{{ redeem }}</td>
{% if redeem_info["type"] == "milestone" %}
<td></td>
@ -157,9 +148,8 @@
{% if redeem_info["info"] %}
<td>{{ redeem_info["info"] }}</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
{% endfor %}
</table>
{% endif %}
</body>