/steamy-santa

Tools for choosing and notifying Steamy Santa victims

Primary LanguageRubyMIT LicenseMIT

Steamy Santa

Each year, Blolol holds a Steamy Santa event, in which moderately-willing participants torture their friends by gifting the worst-looking game they can find on Steam.

Participants sign up through a Google Form. Their responses are exported to CSV and fed to these tools, which choose victims and notify everyone via email.

Usage

Get the code and install gem dependencies.

git clone https://github.com/blolol/steamy-santa.git
cd steamy-santa
bundle install

Rename config/settings.example.json to config/settings.json and edit it.

cp config/settings.example.json config/settings.json

Prepare CSV data about your participants formatted like this:

Nickname, Email address, Steam username, Steam platforms, What you're wearing
Raws, raws@example.com, rawsosaurus, "Mac, Windows", "High heels, suspenders and a bra."

Pipe the CSV data to bin/steamy-santa sort to sort participants and choose victims. Save the JSON output to a file.

bin/steamy-santa sort < responses.csv > victims.json

Pipe the JSON data to bin/steamy-santa notify to deliver emails to participants. This command does a dry run by default. Use --dry-run=false to actually deliver the emails.

bin/steamy-santa notify < victims.json
bin/steamy-santa notify --dry-run=false < victims.json

You can also test that your SMTP settings are correct, and that the emails render correctly in clients by sending every message to your own email address. Just provide a recipient address in config/settings.json.

{
  "to": "me@example.com"
}

License

Copyright (c) 2014 Blolol. MIT licensed.