On this episode of the Ruby Rogues podcast Dave Kimura, Eric Berry, and Charles Max Wooden talk about chatbots with Jamie Wright. Jamie might be talking at Ruby Dev Summit in October.
[01:25] Jamie Wright introduction
Jamie is an expert nerd and unbiased contractor. He is been coding for 20 years principally in Ruby. He is beginning to get into Elixir.
Certainly one of his first tasks was a textual content journey sport, which obtained him began with conversational UI’s. He noticed Hubot on Campfire. He began tweaking that.
Then Slack got here out and he created Tatsu.
[05:00] Tatsu options
You’ll be able to schedule it and it will ask automated questions.
He is engaged on having it combine with github, Harvest, Google Calendar, and so forth.
If there is a blocker, you must be capable to create non-public conversations with the people who find themselves blocked and add that to the standup.
Whenever you join it provides a video hyperlink into your slack. Eric thinks that is fairly intelligent.
In Slack, the default motion individuals ought to take when a bot is put in ought to be to DM the one who put in it.
[08:50] What it takes to write down a bot and the challenges concerned
Writing bots is “enjoyable as hell.”
Chatbots suck. Now we have the chance to enhance a complete piece of the trade.
Many bots are command primarily based bots. You say one thing and it responds.
Conversational UI’s are actually laborious as a result of they have no context or shared understanding of the world.
[12:18] Chatbot libraries – Getting Began
Each giant firm is engaged on one.
There are additionally plenty of pure language processing providers that you should utilize as effectively.
Earlier than you begin, it is advisable to know your use case.
The place will your customers be? What providers do you need to present?
At work? Most likely slack.
Amongst pals? Fb
Node has botkit. It is the most well-liked chatbot platform on the planet.
Begin with botkit, use the examples, then come again to Ruby.
Dave brings up constructing a chatbot for Slack that related to VersionOne.
Knowledge retrieval bots are one other great spot to begin.
From there, you begin answering the query of the place issues go.
[18:51] The panel’s expertise with chatbots
Tatsu has been round for about 2 years and has existed pre-Slack.
Eric makes use of a Slackbot to get details about customers who cancel or decline messages.
Chuck has carried out computerized posting to Slack with Zapier.
Chuck additionally mentions serverless with AWS Lambda.
Chatbots are quite a bit like webapps. They’re textual content in, textual content out and course of issues in very comparable methods.
Dave additionally brings up SMS bots as effectively with Twilio.
Jamie has thought of creating an internet primarily based standup bot for when Slack is down. Slack is a single level of failure in your bot if that is the place it lives.
Slack provides you lots of UI components that you aren’t getting in SMS.
[24:51] Do you would like that Slack had been extra like IRC
From an end-user perspective, no. However Jamie does want they’d revisit threading replies and separating conversations in the identical channel.
It solely took a handful of builders to construct Slack.
[27:20] What gems do you utilize in Ruby?
[29:30] Does Slack push to an endpoint? or do you ballot Slack?
You’ll be able to name an api endpoint on Slack that provides you a websocket endpoint.
The occasions API sends webhook occasions to your server. It is simpler to program in opposition to, however it may be slower. It could even be restricted on sure API’s
[30:55] Github Fantasy League
Based mostly on a Peepcode video with Aaron Patterson. You bought a rating primarily based in your exercise in Github.
Jamie recorded movies for a chat at Codemash.
It by no means really turned a factor, but it surely was a enjoyable concept.
Jamie obtained into Ruby by going to a Ruby Koans discuss by Jim Weirich.
That is what we put into the chat room after the Dr. Who reference…
Particular Visitor: Jamie Wright.