Git Product home page Git Product logo

rickastley's Introduction

National Rick Astley Hotline

You're welcome, Internet.

  • Australia: +61-3-8652-1453
  • New Zealand: +64-9-886-0565
  • UK: +44-11-7325-7425
  • USA: +1-760-706-7425

Want me to continue bringing whimsy to the world? Support me on Patreon.

You can also become a fan on Facebook.

Technical details

The National Rick Astley Hotline brings joy to thousands of people each year. It uses the following software stack:

  • Twilio for the front-end numbers.
  • Flask for running the microserver that handles requests from Twilio.
  • Zappa for deploying the flask app to AWS/Lambda.

Running this code

First, set up your virtual environment and install the requirements:

$ virtualenv venv
$ . venv/bin/activate
$ pip install -r requirements.txt

To run, simply:

$ . venv/env/activate   # If not already in your venv
$ python rickroll.py

This runs the flask server on a local port, so you can poke around with it.

The flask quickstart explains how you can run flask on a public server, at which point you can point a Twilio webhook at your server and you've built your own hotline!

Deploying with Zappa

The main service runs using AWS Lambda, a scalable, serverless platform which removes the overhead of needing to maintain an underlying server. The Zappa documentation provides detailed set-up instructions, but if you have your ~/.aws/credentials file in order, it should be as simple as:

$ . venv/bin/activate
$ zappa init
$ zappa deploy

Record the URL it spits out, connect it as a webhook to your own phone number with Twilio, and you have your own serverless Rick Astley Hotline!

How much do you spend bringing joy to Rick Astley fans?

As of mid 2018, connection costs were averaging about $900 USD/yr. It's totally worth it for the joy it brings others.

If you want to defray my hosting costs, there's always bitcoin and Patreon.

rickastley's People

Contributors

pjf avatar s-t-e-v-e-n-k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rickastley's Issues

Add SMS conversations

We'd need a way of keeping track of state, but simply responding to the first five texts from a number with the following in sequence would be great:

  1. We're not strangers to love.
  2. You know the rules, and so do I.
  3. A true commitment's what I'm looking for.
  4. You wouldn't get this from any other guy.
  5. Call me?

Very little information about how the number can be used

I think there should be a file somewhere either in this repo or on the website (or both) that makes it clear how people can use your numbers.

If I set up my own number, can I have it forward calls to your numbers? Is there anything to keep in mind when doing so?

If I’m missing something obvious, then that’s just par for the course, so please let me know.

Hi

Can you add hotlines for other numbers?

Add French number + internationalization?

There needs to be a French number for "La ligne d'assistance téléphonique Rick Astley nationale"!
To do things proper, this might require an internationalization of the text menu (for which I would gladly provide a translation), but that might require a dynamic selection of the Text-to-Speech voice based on the caller country?

UK number down

The uk number is broken!

Always goes with user busy, please fix!

image

Move assets over to something more cloudish

Right now all our music files are served from Dropbox, which isn't particularly fast, and may be responsible for some of the delays we've seen when first connecting. We should serve them from something more cloudish, like S3 or cloudfront.

Handle multi-key inputs

Right now we're limited to only nine songs, because we accept only a single digit.

We should tweak the system to allow more, but with a sensible timeout so folks pressing single digits don't have to wait very long for their selection.

Should be a simple matter of code.

US Number is down

It seems that the US number has been down for about a week now, I've tried calling multiple times with the system rejecting the call instantly after the dial tone. (760-706-7425)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.