SlideShare a Scribd company logo
Slack Bots With
Hedwig
Self Promotion
• Erik DeBill
• @edebill and @parsenome on twitter
• https://github.com/edebill
Spredfast Pays Me
• https://www.spredfast.com/
• We’ve got lots of really interesting problems and
a truly polyglot architecture
Hedwig Slack
• Plugin for hedwig-im
• You need to use the
github/master version instead
of published hex.pm
• Maintainer answers questions
in #hedwig channel on Elixir
slack
• Documentation is fairly good
for the basics
• See Elixir Sips episodes
Bootstrapping
• follow steps on Hedwig_slack
README
• mix new myapp —sup
• cd myapp
• add hedwig_slack to deps
• mix deps.get
• mix deps.compile
Robot Generator
• Works about like you’d expect
• Prompts you to add a worker
to your supervision tree. If you
didn’t add the —sup option
when you ran mix new this will
be hard to figure out
Config.exs
• Last of the boilerplate
• Follow README on how to
add to config.exs
• I recommend 2 tokens - one
dev, one test (rate limits will
eat you)
• Responders are where the
interesting stuff live
Getting a Token
Responders
• modules that use
Hedwig.Responder
• ‘hear’ and ‘respond’ macros
• chime in vs answer question
• can regex capture
At this point, we’ve
covered all the basics
from the docs
after_connect
• Called after connection
established
• Use to register bot so outside
code can find it
Sending Without
Responders
• Figure out pid for your bot
• Figure out channel id
(IO.inspect inside a responder
works great - these remain
stable forever)
• Format a Hedwig.Message
with room, text, and type
Suggestions
• “hear” responders will respond to ANYTHING that matches -
including help message output and things the bot says in a channel
• Generally stick to “respond” style responders
• Keep real app logic outside responders
• Consider starting with your bot inside an umbrella app
• Hedwig_slack locks a version of cowlib that conflicts with phoenix.
Can’t run them inside same app.
• Get 2 tokens (1 prod, 1 dev)
• Make a dedicated channel for bot testing
Erik DeBill
@edebill
erik@debill.org

More Related Content

PDF
Git Ready! Workflows
PDF
Git best practices 2016
PPTX
Github for Serious Business Professional
PPTX
Test Automation using Athena by OLX - Intro
PDF
Testing Alfresco extensions
PPTX
Cypress workshop for JSFoo 2019
PDF
Ágiles 2016 - Using open source tools to support Continuous Delivery
PDF
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
Git Ready! Workflows
Git best practices 2016
Github for Serious Business Professional
Test Automation using Athena by OLX - Intro
Testing Alfresco extensions
Cypress workshop for JSFoo 2019
Ágiles 2016 - Using open source tools to support Continuous Delivery
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker

What's hot (20)

PDF
Composer at Scale, Release and Dependency Management
PDF
Phabricator Workflow
PPTX
Phabricator presentation
PDF
Phabricator gdg presentation
PDF
Midwest PHP 2017 DevOps For Small team
PPTX
How to write better tests with Test Driven Development
PDF
Simple Unit Testing in Appcelerator Titanium Alloy
PDF
Speed up your Titanium app development with automated tests - TiConf EU 2014
PDF
Put an end to regression with codeception testing
PDF
Git and GitHub crash course
PPTX
A prentation on github
PDF
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
PDF
Jakub Vrána: Code Reviews with Phabricator
PPTX
Testing API's: Tools & Tips & Tricks (Oh My!)
PDF
Latinoware 2016 - Continuous Delivery com ferramentas open source
PPT
Hacking on gems
PPTX
OSB15
PDF
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
PPTX
Story Testing Approach for Enterprise Applications using Selenium Framework
PDF
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
Composer at Scale, Release and Dependency Management
Phabricator Workflow
Phabricator presentation
Phabricator gdg presentation
Midwest PHP 2017 DevOps For Small team
How to write better tests with Test Driven Development
Simple Unit Testing in Appcelerator Titanium Alloy
Speed up your Titanium app development with automated tests - TiConf EU 2014
Put an end to regression with codeception testing
Git and GitHub crash course
A prentation on github
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
Jakub Vrána: Code Reviews with Phabricator
Testing API's: Tools & Tips & Tricks (Oh My!)
Latinoware 2016 - Continuous Delivery com ferramentas open source
Hacking on gems
OSB15
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
Story Testing Approach for Enterprise Applications using Selenium Framework
TDC 2016 SP - 5 libs de teste JavaScript que você deveria conhecer
Ad

Viewers also liked (20)

PPT
Minnesota D-Star Disaster Network
PPS
Instrucciones Para Solicitar Subastas Cliente
PDF
Jornada de Medios de Pago Online - François Hélard, Adyen
PDF
Mow : una experiencia con ROR
PDF
Velfærdsteknologi til ældreplejen
PDF
Shahaf, Ophir - I3: Innovation, Infraestructure & Investment – Drivers of Res...
PPT
Practical Solutions To Internet Marketing Legal Compliance, pt 2
PDF
2008 comp-cuantica
PDF
Avaliação de argamassas com entulho reciclados, por procedimentos racionais d...
PDF
Brochure 32 page-english
PDF
Violations of press freedom in Τurkey
PPT
Casimiro liceaga
PDF
Soco java games 2011
PPTX
How ICT is shaping Travel and Tourism landscapes
PDF
Bert Hellinger - Love's Own Truths - Bonding and Balancing in Close Relations...
PPTX
Spanish M2 ¿Qué quieres tomar?
PDF
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
PPT
Acid And Base
PPTX
Aula digital movil paso a paso
PDF
Lavacon 2014 - The state of mobile publishing
Minnesota D-Star Disaster Network
Instrucciones Para Solicitar Subastas Cliente
Jornada de Medios de Pago Online - François Hélard, Adyen
Mow : una experiencia con ROR
Velfærdsteknologi til ældreplejen
Shahaf, Ophir - I3: Innovation, Infraestructure & Investment – Drivers of Res...
Practical Solutions To Internet Marketing Legal Compliance, pt 2
2008 comp-cuantica
Avaliação de argamassas com entulho reciclados, por procedimentos racionais d...
Brochure 32 page-english
Violations of press freedom in Τurkey
Casimiro liceaga
Soco java games 2011
How ICT is shaping Travel and Tourism landscapes
Bert Hellinger - Love's Own Truths - Bonding and Balancing in Close Relations...
Spanish M2 ¿Qué quieres tomar?
Evasion_AVs_Uso_de_Crypters-MundoHackerDay_2k14_apasamar
Acid And Base
Aula digital movil paso a paso
Lavacon 2014 - The state of mobile publishing
Ad

Similar to Austin Elixir: Slack Bots With Hedwig (9)

PDF
Identifying and solving enterprise problems
PDF
Building Enterprise Chat Bots
PDF
Chat Bots and how to build a Slack bot
PPTX
Slack Bot: upload NUGET package to Artifactory
PDF
Hello PyBot
PDF
How to build a realtime, WebSockets-enabled chat in less than 5 minutes
PDF
Story of a Cerberus Bot
PDF
How to Build a Serverless Chatbot for $0?
PPTX
Hubot
Identifying and solving enterprise problems
Building Enterprise Chat Bots
Chat Bots and how to build a Slack bot
Slack Bot: upload NUGET package to Artifactory
Hello PyBot
How to build a realtime, WebSockets-enabled chat in less than 5 minutes
Story of a Cerberus Bot
How to Build a Serverless Chatbot for $0?
Hubot

Recently uploaded (20)

PPTX
history of c programming in notes for students .pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
medical staffing services at VALiNTRY
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
System and Network Administraation Chapter 3
PDF
Nekopoi APK 2025 free lastest update
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
AI in Product Development-omnex systems
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
history of c programming in notes for students .pptx
Softaken Excel to vCard Converter Software.pdf
medical staffing services at VALiNTRY
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Wondershare Filmora 15 Crack With Activation Key [2025
Navsoft: AI-Powered Business Solutions & Custom Software Development
System and Network Administraation Chapter 3
Nekopoi APK 2025 free lastest update
CHAPTER 2 - PM Management and IT Context
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Upgrade and Innovation Strategies for SAP ERP Customers
Odoo POS Development Services by CandidRoot Solutions
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Operating system designcfffgfgggggggvggggggggg
How Creative Agencies Leverage Project Management Software.pdf
AI in Product Development-omnex systems
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

Austin Elixir: Slack Bots With Hedwig

  • 2. Self Promotion • Erik DeBill • @edebill and @parsenome on twitter • https://github.com/edebill
  • 3. Spredfast Pays Me • https://www.spredfast.com/ • We’ve got lots of really interesting problems and a truly polyglot architecture
  • 4. Hedwig Slack • Plugin for hedwig-im • You need to use the github/master version instead of published hex.pm • Maintainer answers questions in #hedwig channel on Elixir slack • Documentation is fairly good for the basics • See Elixir Sips episodes
  • 5. Bootstrapping • follow steps on Hedwig_slack README • mix new myapp —sup • cd myapp • add hedwig_slack to deps • mix deps.get • mix deps.compile
  • 6. Robot Generator • Works about like you’d expect • Prompts you to add a worker to your supervision tree. If you didn’t add the —sup option when you ran mix new this will be hard to figure out
  • 7. Config.exs • Last of the boilerplate • Follow README on how to add to config.exs • I recommend 2 tokens - one dev, one test (rate limits will eat you) • Responders are where the interesting stuff live
  • 9. Responders • modules that use Hedwig.Responder • ‘hear’ and ‘respond’ macros • chime in vs answer question • can regex capture
  • 10. At this point, we’ve covered all the basics from the docs
  • 11. after_connect • Called after connection established • Use to register bot so outside code can find it
  • 12. Sending Without Responders • Figure out pid for your bot • Figure out channel id (IO.inspect inside a responder works great - these remain stable forever) • Format a Hedwig.Message with room, text, and type
  • 13. Suggestions • “hear” responders will respond to ANYTHING that matches - including help message output and things the bot says in a channel • Generally stick to “respond” style responders • Keep real app logic outside responders • Consider starting with your bot inside an umbrella app • Hedwig_slack locks a version of cowlib that conflicts with phoenix. Can’t run them inside same app. • Get 2 tokens (1 prod, 1 dev) • Make a dedicated channel for bot testing