creating custom slack integrations with vapor
TRANSCRIPT
CREATING CUSTOM SLACK INTEGRATIONS WITH VAPOR
1
WHAT IS VAPOR?
2
WHAT IS VAPOR?
3
WHAT IS VAPOR?
▸ Vapor is a collection of open source, Swift 3 modules for building web apps
3
WHAT IS VAPOR?
▸ Vapor is a collection of open source, Swift 3 modules for building web apps
3
WHY VAPOR?
5
WHY VAPOR?
6
WHY VAPOR?
▸ Swift is AWESOME!
6
WHY VAPOR?
▸ Swift is AWESOME!
▸ Nice option for iOS dev to create their own back-end
6
WHY VAPOR?
▸ Swift is AWESOME!
▸ Nice option for iOS dev to create their own back-end
▸ It’s fast
6
WHAT IS SLACK?
7
WHAT IS SLACK?
8
WHAT IS SLACK?
▸ Slack is a team communications tool
▸ https://orlandodevs.slack.com/
8
WHAT DO I NEED TO DEVELOP WITH VAPOR?
9
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl-sLswift.vapor.sh/ubuntu|bash
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl-sLswift.vapor.sh/ubuntu|bash
▸ https://swift.org/getting-started/#installing-swift
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl-sLswift.vapor.sh/ubuntu|bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl-sLcheck.vapor.sh|bash
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl-sLswift.vapor.sh/ubuntu|bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl-sLcheck.vapor.sh|bash
▸ Vapor Toolbox
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl-sLswift.vapor.sh/ubuntu|bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl-sLcheck.vapor.sh|bash
▸ Vapor Toolbox
▸ curl-sLtoolbox.vapor.sh|bash
10
TEXT
WHAT DO I NEED TO DEVELOP WITH VAPOR?▸ Swift 3
▸ macOS - Xcode 8
▸ Ubuntu - curl-sLswift.vapor.sh/ubuntu|bash
▸ https://swift.org/getting-started/#installing-swift
▸ curl-sLcheck.vapor.sh|bash
▸ Vapor Toolbox
▸ curl-sLtoolbox.vapor.sh|bash
▸ https://vapor.github.io/documentation/getting-started/manual.html
10
SLACK DEVELOPMENT BASICS
11
SLACK DEVELOPMENT BASICS
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
▸ Bot Users
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
▸ Bot Users
▸ Slash Commands
12
SLACK DEVELOPMENT BASICS
▸ Types of Custom Integrations
▸ Incoming/Outgoing Webhooks
▸ Bot Users
▸ Slash Commands
12
SLACK MESSAGES
13
SLACK MESSAGES
▸ Basic message format:{“text”:“Thisistext”,“response_type”:“ephemeral”}
13
SLACK MESSAGES
▸ Basic message format:{“text”:“Thisistext”,“response_type”:“ephemeral”}
13
SLACK MESSAGES
▸ Basic message format:{“text”:“Thisistext”,“response_type”:“ephemeral”}
▸ Attachments:{“response_type”:“in_channel”,“attachments”:[{“title”:“Thisisthetitle”, “text”:“Thisistext”,“color”:“#000000”}]}
13
SLACK MESSAGES
▸ Basic message format:{“text”:“Thisistext”,“response_type”:“ephemeral”}
▸ Attachments:{“response_type”:“in_channel”,“attachments”:[{“title”:“Thisisthetitle”, “text”:“Thisistext”,“color”:“#000000”}]}
13
SLACK MESSAGES
▸ Basic message format:{“text”:“Thisistext”,“response_type”:“ephemeral”}
▸ Attachments:{“response_type”:“in_channel”,“attachments”:[{“title”:“Thisisthetitle”, “text”:“Thisistext”,“color”:“#000000”}]}
▸ https://api.slack.com/docs/messages
13
LESSONS LEARNED
14
LESSONS LEARNED
15
LESSONS LEARNED
▸ You won’t be able to use all the frameworks you’re accustomed to using in iOS development
15
LESSONS LEARNED
▸ You won’t be able to use all the frameworks you’re accustomed to using in iOS development
▸ Testing on both macOS and Linux is essential
15
REFERENCES
16
REFERENCES
▸ Slack API Documentation - https://api.slack.com/
▸ Vapor Documentation - https://docs.vapor.codes
▸ Vapor Slack - http://vapor.team
▸ https://github.com/WERUreo/WeatherSlack/
▸ https://github.com/WERUreo/werureo-slackbots/
16
REFERENCES
▸ Slack API Documentation - https://api.slack.com/
▸ Vapor Documentation - https://docs.vapor.codes
▸ Vapor Slack - http://vapor.team
▸ https://github.com/WERUreo/WeatherSlack/
▸ https://github.com/WERUreo/werureo-slackbots/
QUESTIONS?
16