Building a World Cup Bot with Python, Twilio SMS and Slack
The World Cup. For us Brazilians, it’s like the Super Bowl, NBA Finals, World Series, and Stanley Cup, combined, multiplied by 100.
For those of us diehard ‘futebol’ fans following the games in Russia from the Western hemisphere, it’s been quite the challenge keeping up since most of the games are on while we’re at work.
I knew I wasn’t the only one in the office trying to keep up with the games. To solve this problem I created a bot that combines the Slack API with the Twilio SMS API to provide fans with real-time updates of every exciting moment in every world cup game – fouls, penalties, goals, and all.
This post will walk through how I built it. Feel free to follow these instructions to build your own World Cup bot or a bot for your sport of preference. You can check out the ...
Two years ago, Alexander Kallaway created an online movement called #100DaysOfCode. The purpose was to get out of “tutorial purgatory” and start building real projects to advance himself as a programmer.
The challenge is simple: commit to coding for 100 days and tweet about your progress using the hashtag #100DaysOfCode. Sounds fun, right?
It totally is, until you lose track of what day you’re on. That’s where this comes in. We’re going to build a simple Node app using Twilio, Firebase and Twitter to help you easily track your progress.
Prep Local Environment
Before we ...
Cloud Orchestration, Lazarus and Interning at Twilio
There are a few technical interview strategies everyone knows: communicate your thoughts, give yourself time to think, and keep calm. Absent among these, of course, is coming up entirely blank for a question. So when in the interview for an engineering internship my manager asked, “What experience do you have with distributed systems?” I took a deep breath and, cringing a little, replied, “None, yet. But I’m smart and I learn fast, and I’m interested to learn by working in one.” This was true. I’d been curious about the subject for a while, and figuring it wouldn’t hurt to try, had worked up the courage to apply to a role for which I didn’t hit every “ideal qualification” checkbox. (Take that, tech gender gap!) And to my surprise and relief, I moved forward – all the way to San Francisco, to a spot on Twilio’s ...
Announcing important changes to TaskRouter
At Twilio we have spent many months making all our products GDPR compliant, and one of the products at the very heart of many folk’s implementations is TaskRouter. Of course, TaskRouter like all other Twilio products is GDPR compliant, meaning you can build compliant solutions on top of TaskRouter. To achieve this compliance, we have made several changes to TaskRouter functionality and API which are important to be aware of if you are a TaskRouter customer. Here’s everything you need to know about how we retain Personal Identifiable Information (PII) in TaskRouter for the privacy of our users, and how it affects your use of TaskRouter.
TaskRouter Events API
TaskRouter events provide a historical record of everything that happens in a TaskRouter workspace since the start of it. Now, for privacy reasons, any time period (Today – StartDate) that spans greater than 30 days, will have all Personal Identifiable ...
Twilio Conference now supports Announcements
Twilio Conference now supports Announcements
We are excited to announce support for Announcements in Twilio Conference. Over the last several years, Conference has become a critical part of everything from managing incident responses involving a large number of participants or powering advanced call controls such as hold, transfers, monitor, coach, or barge in a contact center. In the past, developers were forced to transfer the Participant out of conference to be able to Play or Say as a workaround for Announcements. The new Announcement feature significantly simplifies the process by using one API call to Play or Say into Conference.
AnnounceUrl: The AnnounceUrl attribute lets you specify a URL for Announcement. The URL may be an MP3, a WAV, or a TwiML document that uses <Play> or <Say>.
AnnounceMethod: Specify GET or POST; defaults to ...
How to do Phone Verification in iOS Apps with Twilio Verify and Swift
Security is at the top of everyone’s mind and phone verification is a simple way to secure your application and help prevent bot accounts. Phone verification is a common security tool used when people sign up for a product or give you their phone number for the first time.
Confidence in your users’ phone numbers decreases fraud and increases reliability of notifications. Let’s take a look at how to verify phone numbers from an iOS application using Swift and the Twilio Verify API.
This tutorial will walk you through the process of SMS phone verification step by step. You can check out the final project on my GitHub.
What you’ll need
To code along with this post, you’ll need:
Navigate to the Twilio Console and grab ...
Accessing Salesforce CRM Data within Twilio Studio
Access to customer context is key to a great customer experience in voice and messaging flows. As it lets you customize your interactions specific to that customer and address their needs promptly.
In this blog post, we will walk through the steps involved in connecting to Salesforce CRM database with Twilio Studio. This means, that when a customer calls into your contact center, in realtime, we can ask the CRM for more details about the caller based on their phone number. With this additional context, we can present an IVR tailored to their needs or use that information to intelligently route their call.
Before we get started, if you haven’t yet used Studio, I recommend taking a look at this getting started with Studio guide.
Flows in Studio are built with widgets which is a state or transition in our flow. In this post we will mainly use the ...
Getting Started with Apache Spark by Analyzing Pwned Passwords
Apache Spark aims to solve the problem of working with large scale distributed data and with access to over 500 million leaked passwords we have a lot of data to dig through. If you spend any time with the password data set, you’ll notice how simple most passwords are. This is why we’re always thinking about how to encourage stronger passwords and recommend turning on Two-factor authentication everywhere it’s available.
While tools like Excel and Python are great for data analysis, Spark helps solve the problem of what to do once the data you’re working with gets too large to fit into the memory of your local computer.
This tutorial will show you how to get setup for running Spark and introduce the tools and code that allow you to do data manipulation and exploration. Read on to find out how to spot the most common ...
Building Reusable iOS Components in Swift
Keeping it DRY (Don’t Repeat Yourself) is every software developer’s priority in seeing a product through to completion. It not only helps make debugging easier, but also provisions easy testing and writing less code whilst achieving more. More than once, I’ve found myself building reusable components to reduce the repetitiveness in my code. For instance, building an iOS application will involve building multiple table view controllers. This means one will end up writing the same pieces of code in a couple of places that feed the table view controllers with data. Why not just build a wrapper and reuse it throughout the app as a plugin?
Hopefully by the end of this article I’ll convince you to start building reusable components in Swift for iOS application development. To demonstrate reusable components, we’ll build a dummy app that simulates a company providing employees with meals and ...
Switching cameras during a video chat with Twilio Video
mediaDevicesAPI, particularly for the case of mobile devices with a front and back camera, and now it’s time to put that into practice in an application. In this post we will use what we learned to build a camera switcher into a video chat application using Twilio Video.
We’re going to build this off a slightly modified version of the Twilio Video quickstart application. In order to build this app you will need:
- Node.js (I’m using the current latest version; 10, but it works with older versions)
- ngrok so that you can visit your development application from your mobile device
- A Twilio account; you’ll need your account SID, available on your Twilio dashboard, and an API key and secret, which you can generate in your console
Clone the repo for ...