nier-spm / vapor-slack

A swift package for Slack Messaging API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vapor Slack

A Vapor extension package for Slack Messaging Api

Features

  • Message payload for Slack block message
  • Message to specify channel for Slack bot

Installation

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/nier-spm/vapor-slack.git", from: "0.0.2")
],

Usage

// Package.swift
targets: [
    .target(
        name: "App",
        dependencies: [
            .product(name: "VaporSlack", package: "vapor-slack"),
            ...
        ],
    }
],

Import

import VaporSlack

Setup Configuration

Setup Slack bot user OAuth token before register vapor routes

// configure.swift
import Vapor
import VaporSlack

public func configure(_ app: Application) throws {
    let token: String = "{{your_bot_oauth_token}}"
    
    app.slack = SlackConfigutaion(token)
    
    try routes(app)
}

or set bot token from enviornment.

// configure.swift
import Vapor
import VaporSlack

public func configure(_ app: Application) throws {
    let key: String = "{{your_bot_oauth_token_key}}"
    
    app.slack = try SlackConfigutaion.enviornment(key)
    
    try routes(app)
}

Send Message

let payload: SlackMessagePayload = SlackMessagePayload(channel: "your_slack_channel")    
let request: Request = Request()    // Client Request

request.slack.message(payload)      // Client Response

About

A swift package for Slack Messaging API.


Languages

Language:Swift 100.0%