Siri Says¶ ↑
Siri Says gets that Siri biz-nass all up in your Ruby. Inspired by Remember the Milk.
require "rubygems" require "siri_says" siri_says /deploy/ do |message| puts "> Deploying..." end SiriSays::Engine.run( google_username, google_password )
Tell Siri: “Schedule a deploy right now.”
(seconds later)
> Deploying...
Boom. Headshot.
Initial setup¶ ↑
This is a bit of a pain. Suck it up, cowboy.
Google Calendar¶ ↑
Add a new “sirisays” calendar.
iPhone¶ ↑
Add the calendar:
-
Settings
-
“Mail, Contacts, Calendars”
-
“Add Account…”
-
“Other”
-
“Add CalDAV Account”
-
Server: google.com
-
Username: username@gmail.com
-
Password: _
-
Description: “sirisays”
-
-
“Next”
Make it the default so that Siri will add events to it:
-
Settings
-
“Mail, Contacts, Calendars”
-
“Default Calendar” –> sirisays
-
Go to www.google.com/calendar/iphoneselect and choose “sirisays” (not sure if this is necessary, actually…)
Usage¶ ↑
Write Siri Says plugins (as many as you want) with siri_says
:
siri_says /deploy/i do |message| puts "> Deploying..." end siri_says /^say/i do |message| puts "> Siri says: #{message.gsub(/^say/i, '')}" end
Then start SiriSays
with your Google Calendar user name and password:
SiriSays::Engine.run( google_username, google_password )
When a message is received (i.e. when a calendar event is added), it will be passed to every block whose associated RegEx is a match for the message. The message is the calendar event's title.
Sending events¶ ↑
Google Calendar doesn't recognize Siri's “reminders”. To communicate with Siri Says, you'll need to create actual calendar events. Siri Says recognizes “immediate” events and scheduled events:
Immediate events¶ ↑
To create an immediate event, you can either create an event “now” or “all-day tomorrow”:
-
“Schedule a deploy right now”
-
“Schedule an event right now: deploy”
-
“Schedule an appointment tomorrow, all-day: deploy”
-
“New appointment now: deploy”
-
Etc.
Scheduled events¶ ↑
Create events that fire later just like you would any other scheduled event:
-
“New appointment for tomorrow at 4am: deploy”
-
“Schedule a deploy tomorrow at 4am”
-
“Schedule an event tomorrow at 4am: deploy”
-
“Schedule an appointment tomorrow, at 4am: deploy”
-
Etc.
To do¶ ↑
-
Remove needless dependency on ActiveSupport. I'm lazy.
-
Remove dependency on Google Calendar – allow any CalDAV server.
-
Add Twilio SMS support. (bo-ring)
Note¶ ↑
“Siri Says” isn't affiliated or endorsed by Apple in any way, shape, or form. It's just a dumb hack.