Compare commits
	
		
			4 Commits
		
	
	
		
			31426fd851
			...
			e5e88bf520
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e5e88bf520 | |||
| b4a6c4e41c | |||
| 8c19088640 | |||
| 5316f7e205 | 
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							| @ -323,22 +323,21 @@ REDEEMS={ | |||||||
|     "lurk": {"price": 1, "type": "counter", "info": "Let us know you're going to lurk."}, |     "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."}, |     "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."}, |     "request": {"price": 100, "type": "note", "info": "Request a level, gamemode, skin, etc."}, | ||||||
|     "go_nap": {"type": "milestone", "info": "Streamer will go nap when the goal is reached.", "goal": 1000}, |     "go_nap": {"goal": 1000, "type": "milestone", "info": "Streamer will go nap when the goal is reached."}, | ||||||
|     "inactive": {"price": 100, "type": "note", "info": "Example redeem that is inactive by default", "category": ["inactive"]} |     "inactive": {"price": 100, "type": "note", "info": "Example redeem that is inactive by default", "category": ["inactive"]} | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| #### File format | #### File format | ||||||
| `redeems.py` is a config file with just a `REDEEMS` key, that assigns a dictionary of redeems to it. | `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. | 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 entries for `"type"`, | The value is another dictionary that needs to have an entry for `"type"` and | ||||||
| an entry for `"price"` unless the redeem is a milestone, | an entry for `"price"` for non-milestones or `"goal"` for milestones. | ||||||
| and optionally `"info"` and `"category"`. | Optionally, each redeem can also have `"info"` and `"category"` entries. | ||||||
| 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. | - `"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. | ||||||
| - `"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. | - `"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). | - `"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. | - `"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`, | 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 | then the redeem will be active. It will not be active if none of the categories | ||||||
|  | |||||||
| @ -3,6 +3,6 @@ REDEEMS={ | |||||||
|     "lurk": {"price": 1, "type": "counter", "info": "Let us know you're going to lurk."}, |     "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."}, |     "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."}, |     "request": {"price": 100, "type": "note", "info": "Request a level, gamemode, skin, etc."}, | ||||||
|     "go_nap": {"type": "milestone", "info": "Streamer will go nap when the goal is reached.", "goal": 1000}, |     "go_nap": {"goal": 1000, "type": "milestone", "info": "Streamer will go nap when the goal is reached."}, | ||||||
|     "inactive": {"price": 100, "type": "note", "info": "Example redeem that is inactive by default", "category": ["inactive"]} |     "inactive": {"price": 100, "type": "note", "info": "Example redeem that is inactive by default", "category": ["inactive"]} | ||||||
| } | } | ||||||
| @ -30,12 +30,14 @@ | |||||||
|                         <th>Your points balance</th> |                         <th>Your points balance</th> | ||||||
|                     </tr> |                     </tr> | ||||||
|                 </thead> |                 </thead> | ||||||
|                 {% for user in users %} |  | ||||||
|                 <tbody> |                 <tbody> | ||||||
|  |                 {% for user in users %} | ||||||
|  |                     <tr> | ||||||
|                         <td> {{ user[0] }} </td> |                         <td> {{ user[0] }} </td> | ||||||
|                         <td> {{ user[1] }} </td> |                         <td> {{ user[1] }} </td> | ||||||
|                 </tbody> |                     </tr> | ||||||
|                 {% endfor %} |                 {% endfor %} | ||||||
|  |                 </tbody> | ||||||
|             </table> |             </table> | ||||||
|             {% endif %} |             {% endif %} | ||||||
| 
 | 
 | ||||||
| @ -52,12 +54,14 @@ | |||||||
|                         <th>Active counters</th> |                         <th>Active counters</th> | ||||||
|                     </tr> |                     </tr> | ||||||
|                 </thead> |                 </thead> | ||||||
|                 {% for counter in counters %} |  | ||||||
|                 <tbody> |                 <tbody> | ||||||
|  |                 {% for counter in counters %} | ||||||
|  |                     <tr> | ||||||
|                         <td> {{ counter[0] }} </td> |                         <td> {{ counter[0] }} </td> | ||||||
|                         <td> {{ counter[1] }} </td> |                         <td> {{ counter[1] }} </td> | ||||||
|                 </tbody> |                     </tr> | ||||||
|                 {% endfor %} |                 {% endfor %} | ||||||
|  |                 </tbody> | ||||||
|             </table> |             </table> | ||||||
|             {% endif %} |             {% endif %} | ||||||
|             {% if milestones %} |             {% if milestones %} | ||||||
| @ -68,13 +72,15 @@ | |||||||
|                         <th>Progress</th> |                         <th>Progress</th> | ||||||
|                     </tr> |                     </tr> | ||||||
|                 </thead> |                 </thead> | ||||||
|                 {% for milestone in milestones %} |  | ||||||
|                 <tbody> |                 <tbody> | ||||||
|  |                 {% for milestone in milestones %} | ||||||
|  |                     <tr> | ||||||
|                         <td> {{ milestone[0] }} </td> |                         <td> {{ milestone[0] }} </td> | ||||||
|                         <td> <progress id="file" max={{ milestone[2] }} value={{ milestone[1] }}></progress></td> |                         <td> <progress id="file" max={{ milestone[2] }} value={{ milestone[1] }}></progress></td> | ||||||
|                         <td> {{ milestone[1] }} / {{ milestone[2] }}</td> |                         <td> {{ milestone[1] }} / {{ milestone[2] }}</td> | ||||||
|                 </tbody> |                     </tr> | ||||||
|                 {% endfor %} |                 {% endfor %} | ||||||
|  |                 </tbody> | ||||||
|             </table> |             </table> | ||||||
|             {% endif %} |             {% endif %} | ||||||
|             {% endif %} |             {% endif %} | ||||||
| @ -99,16 +105,18 @@ | |||||||
|                         <th>Note</th> |                         <th>Note</th> | ||||||
|                     </tr> |                     </tr> | ||||||
|                 </thead> |                 </thead> | ||||||
|                 {% for row in queue %} |  | ||||||
|                 <tbody> |                 <tbody> | ||||||
|  |                 {% for row in queue %} | ||||||
|  |                     <tr> | ||||||
|                         <td>{{ row[0].replace(tzinfo=utc_timezone).astimezone().strftime("%H:%M") }}</td> |                         <td>{{ row[0].replace(tzinfo=utc_timezone).astimezone().strftime("%H:%M") }}</td> | ||||||
|                         <td>{{ row[1] }}</td> |                         <td>{{ row[1] }}</td> | ||||||
|                         <td>{{ row[3] }}</td> |                         <td>{{ row[3] }}</td> | ||||||
|                         {% if row[2] %} |                         {% if row[2] %} | ||||||
|                         <td>{{ row[2] }}</td> |                         <td>{{ row[2] }}</td> | ||||||
|                         {% endif %} |                         {% endif %} | ||||||
|                 </tbody> |                     </tr> | ||||||
|                 {% endfor %} |                 {% endfor %} | ||||||
|  |                 </tbody> | ||||||
|             </table> |             </table> | ||||||
|             {% endif %} |             {% endif %} | ||||||
|         </body> |         </body> | ||||||
| @ -136,8 +144,9 @@ | |||||||
|                         <th>Description</th> |                         <th>Description</th> | ||||||
|                     </tr> |                     </tr> | ||||||
|                 </thead> |                 </thead> | ||||||
|                 {% for redeem, redeem_info in redeems.items() %} |  | ||||||
|                 <tbody> |                 <tbody> | ||||||
|  |                 {% for redeem, redeem_info in redeems.items() %} | ||||||
|  |                     <tr> | ||||||
|                         <td>{{ prefix }}{{ redeem }}</td> |                         <td>{{ prefix }}{{ redeem }}</td> | ||||||
|                         {% if redeem_info["type"] == "milestone" %} |                         {% if redeem_info["type"] == "milestone" %} | ||||||
|                         <td></td> |                         <td></td> | ||||||
| @ -148,8 +157,9 @@ | |||||||
|                         {% if redeem_info["info"] %} |                         {% if redeem_info["info"] %} | ||||||
|                         <td>{{ redeem_info["info"] }}</td> |                         <td>{{ redeem_info["info"] }}</td> | ||||||
|                         {% endif %} |                         {% endif %} | ||||||
|                 </tbody> |                     </tr> | ||||||
|                 {% endfor %} |                 {% endfor %} | ||||||
|  |                 </tbody> | ||||||
|             </table> |             </table> | ||||||
|             {% endif %} |             {% endif %} | ||||||
|         </body> |         </body> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user