Login About Gallery
ChoreBot
COMMENT
‎🤖 Welcome to ChoreBot! Add or edit chores/rooms in the first dictionary to automatically create more options. —————— DICTIONARY INSTRUCTIONS: The KEY is how the chore/room appears in the list when you run the Shortcut and how it appears when set as a reminder in Reminders. The VALUE for each entry contains a small dictionary with 4 items: - Event: Title of the event as it appears when logged to your calendar - Yellow: Number of days at which the heatmap turns yellow for this chore - Orange: Number of days at which the heatmap turns orange for this chore - Red: Number of days at which the heatmap turns red for this item You can edit the existing items or add new ones. Just be sure to follow the formatting exactly. There is technically no limit to how many chores can be added.
DICTIONARY
COMMENT
‎This number determines how many weeks back the calendar search should go:
NUMBER
‎8
COMMENT
‎In order to improve performance ChoreBot saves a small text file (ChoreBot.txt) with the name of the calendar used for logging chores to the Shortcuts folder in iCloud Drive. This also allows ChoreBot to check and see if this is the first time being run. If you change the name of the calendar used for logging chores follow these steps: - Delete ChoreBot.txt in the Shortcuts folder in iCloud Drive - From the “Shortcut Details” tab select “Setup” and choose “Customize Shortcut…” to change your answers to the original setup questions - Run the Shortcut and it will automatically create a new ChoreBot.txt file with the new calendar name upon logging the first chore
DOCUMENTS
‎Get File
Service
‎iCloud Drive
Show Document Picker
Select Multiple
SCRIPTING
‎If ‎File ‎does not have any value
SCRIPTING
‎Show alert ‎🤖 Welcome to ChoreBot!
Title
‎🤖 Welcome to ChoreBot!
Show Cancel Button
TEXT
‎True
VARIABLES
‎Set variable ‎First Run? ‎to ‎Text
CALENDAR
‎Add ‎🤖 ChoreBot Activated ‎from ‎Today ‎to ‎Today
Location
‎optional
Calendar
‎Home
All Day
Alert
‎Choose
VARIABLES
‎Set variable ‎ChoreBot Calendar ‎to ‎New Event
DOCUMENTS
‎Append ‎ChoreBot Calendar
Service
‎iCloud Drive
File Path
‎ChoreBot.txt
Make New Line
SCRIPTING
‎Otherwise
DOCUMENTS
‎Get text from ‎File
VARIABLES
‎Set variable ‎ChoreBot Calendar ‎to ‎Text
TEXT
‎False
VARIABLES
‎Set variable ‎First Run? ‎to ‎Text
SCRIPTING
‎End If
COMMENT
‎This second dictionary is intentionally left empty. The Shortcut uses it to create the heatmap menu each time it is run.
DICTIONARY
VARIABLES
‎Set variable ‎Chore Menu ‎to ‎Menu Dictionary
COMMENT
‎Now the Shortcut generates the heatmap for the menu:
CALENDAR
‎Find ‎All Calendar Events ‎where
‎All the following are true
‎[{'class': 'filter-property', 'value': 'Start Date'}, {'class': 'filter-operator', 'value': 'is in the last'}, {'class': 'filter-benchmark', 'value': 'Calendar Look Back (# of weeks)', 'glyph': '', 'UUID': '60C96817-5B66-4D77-ADDE-3383285D0296'}, {'class': 'filter-unit', 'value': 'weeks', 'glyph': '', 'UUID': ''}]
‎[{'class': 'filter-property', 'value': 'Calendar'}, {'class': 'filter-operator', 'value': 'is'}, {'class': 'filter-benchmark', 'value': 'default'}]
Sort by
‎Start Date
Order
‎Latest First
Limit
SCRIPTING
‎Count ‎Items ‎in ‎Chore Dictionary
SCRIPTING
‎Get ‎Items in Range ‎1 ‎to ‎Count ‎from ‎Chore Dictionary
TEXT
‎Split ‎Item from List ‎by ‎New Lines
SCRIPTING
‎Repeat with each item in ‎Split Text
SCRIPTING
‎Get ‎Value ‎for ‎Repeat Item ‎.Event ‎in ‎Chore Dictionary
CALENDAR
‎Find ‎Calendar Events ‎where
‎All the following are true
‎[{'class': 'filter-property', 'value': 'Start Date'}, {'class': 'filter-operator', 'value': 'is in the last'}, {'class': 'filter-benchmark', 'value': 'Calendar Look Back (# of weeks)', 'glyph': '', 'UUID': '60C96817-5B66-4D77-ADDE-3383285D0296'}, {'class': 'filter-unit', 'value': 'weeks', 'glyph': '', 'UUID': ''}]
‎[{'class': 'filter-property', 'value': 'Title'}, {'class': 'filter-operator', 'value': 'is'}, {'class': 'filter-benchmark inline', 'value': [{'class': 'magic', 'value': 'Dictionary Value', 'glyph': '', 'UUID': '84162410-5729-453B-A7AB-FDCB2E107E19'}]}]
Sort by
‎Start Date
Order
‎Latest First
Limit
Get 1 File
SCRIPTING
‎Count ‎Items ‎in ‎Calendar Events
SCRIPTING
‎If ‎Count ‎is ‎1
CALENDAR
‎Get time between ‎Calendar Events ‎and ‎Current Date ‎in ‎Days
SCRIPTING
‎If ‎Days Since Last Logged ‎is less than ‎1
TEXT
‎(today)
SCRIPTING
‎Otherwise
SCRIPTING
‎If ‎Days Since Last Logged ‎is greater than ‎21
MATHS
‎Days Since Last Logged ‎÷ ‎7
‎Options Under Construction
MATHS
‎Round ‎Calculation Result ‎to ‎Tenths
Mode
‎Normal
TEXT
‎( ‎Weeks Since Last Logged (Rounded) ‎ weeks ago)
SCRIPTING
‎Otherwise
TEXT
‎( ‎Days Since Last Logged ‎ days ago)
SCRIPTING
‎End If
SCRIPTING
‎End If
VARIABLES
‎Set variable ‎(Time Since) ‎to ‎If Result
SCRIPTING
‎Get ‎Value ‎for ‎Repeat Item ‎.Yellow ‎in ‎Chore Dictionary
SCRIPTING
‎Get ‎Value ‎for ‎Repeat Item ‎.Orange ‎in ‎Chore Dictionary
SCRIPTING
‎Get ‎Value ‎for ‎Repeat Item ‎.Red ‎in ‎Chore Dictionary
SCRIPTING
‎If ‎Calendar Events ‎is today
TEXT
‎✅
SCRIPTING
‎End If
SCRIPTING
‎If ‎Days Since Last Logged ‎is between ‎1 ‎and ‎Yellow Value
TEXT
‎🟢
SCRIPTING
‎End If
SCRIPTING
‎If ‎Days Since Last Logged ‎is between ‎Yellow Value ‎and ‎Orange Value
TEXT
‎🟡
SCRIPTING
‎End If
SCRIPTING
‎If ‎Days Since Last Logged ‎is between ‎Orange Value ‎and ‎Red Value
TEXT
‎🟠
SCRIPTING
‎End If
SCRIPTING
‎If ‎Days Since Last Logged ‎is greater than or equal to ‎Red Value
TEXT
‎🚨
SCRIPTING
‎End If
SCRIPTING
‎Otherwise
SCRIPTING
‎If ‎First Run? ‎is ‎True
TEXT
‎(never logged)
SCRIPTING
‎Otherwise
TEXT
‎(over ‎Calendar Look Back (# of weeks) ‎ weeks ago)
SCRIPTING
‎End If
VARIABLES
‎Set variable ‎(Time Since) ‎to ‎No Log Found
TEXT
‎⚠️
SCRIPTING
‎End If
TEXT
‎Repeat Item ‎(Time Since) ‎Emoji
SCRIPTING
‎Set ‎Repeat Item ‎to ‎Text ‎in ‎Dictionary
VARIABLES
‎Set variable ‎Chore Menu ‎to ‎Updated Dictionary
SCRIPTING
‎End Repeat
COMMENT
‎Rearrange the heatmap by priority:
SCRIPTING
‎Repeat with each item in ‎Chore Menu
SCRIPTING
‎If ‎Repeat Item ‎contains ‎⚠️
VARIABLES
‎Add ‎Repeat Item ‎to ‎No Log Items
SCRIPTING
‎End If
SCRIPTING
‎If ‎If Result ‎contains ‎🚨
VARIABLES
‎Add ‎Repeat Item ‎to ‎Red Items
SCRIPTING
‎End If
SCRIPTING
‎If ‎Repeat Item ‎contains ‎🟠
VARIABLES
‎Add ‎Repeat Item ‎to ‎Orange Items
SCRIPTING
‎End If
SCRIPTING
‎If ‎Repeat Item ‎contains ‎🟡
VARIABLES
‎Add ‎Repeat Item ‎to ‎Yellow Items
SCRIPTING
‎End If
SCRIPTING
‎If ‎Repeat Item ‎contains ‎🟢
VARIABLES
‎Add ‎Repeat Item ‎to ‎Green Items
SCRIPTING
‎End If
SCRIPTING
‎If ‎Repeat Item ‎contains ‎✅
VARIABLES
‎Add ‎Repeat Item ‎to ‎Today Items
SCRIPTING
‎End If
SCRIPTING
‎End Repeat
SCRIPTING
‎If ‎No Log Items ‎has any value
VARIABLES
‎Add ‎No Log Items ‎to ‎Prioritized Items
SCRIPTING
‎End If

Showcuts

Magic Vars

Screenshot

Submitted Anonymously 2 years ago

Visit iCloud (iOS)

Copy iCloud Link

Scan QR Code

1

107 more actions