Skip to content

Instantly share code, notes, and snippets.

View seratch's full-sized avatar

Kazuhiro Sera seratch

View GitHub Profile
@seratch
seratch / index.js
Last active November 4, 2021 04:02
Workflow Builder: Steps from apps - https://api.slack.com/workflows/steps
const config = require("dotenv").config().parsed;
for (const k in config) {
process.env[k] = config[k];
}
// npm install @slack/bolt@feat-workflow-steps
const { App } = require("@slack/bolt");
const app = new App({
signingSecret: process.env.SLACK_SIGNING_SECRET,
token: process.env.SLACK_BOT_TOKEN,
@seratch
seratch / ScalatraBootstrap.scala
Created June 10, 2020 04:04
Slack app built with Scalatra
import com.slack.api.bolt.App
import com.slack.api.bolt.handler.builtin.SlashCommandHandler
import com.slack.api.bolt.servlet.SlackAppServlet
import javax.servlet.ServletContext
import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
import org.scalatra._
class RootController extends ScalatraServlet {
get("/") {
views.html.hello()
@seratch
seratch / HomeController.scala
Last active March 26, 2023 14:17
Slack app built with Play Framework (Scala)
package controllers
import javax.inject._
import play.api.mvc._
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
def index() = Action { implicit request: Request[AnyContent] =>
Ok("Hello World!")
@seratch
seratch / MyApp.kt
Last active June 7, 2020 02:55
Slack app built with HTTP4K
import com.slack.api.bolt.App
import com.slack.api.bolt.request.RequestHeaders
import com.slack.api.bolt.util.SlackRequestParser
import com.slack.api.model.block.Blocks.*
import com.slack.api.model.block.composition.BlockCompositions.*
import com.slack.api.model.block.element.BlockElements.plainTextInput
import com.slack.api.model.block.element.BlockElements.staticSelect
import com.slack.api.model.view.View
import com.slack.api.model.view.Views.*
import org.http4k.core.*
@seratch
seratch / SlackApp.java
Last active April 18, 2020 01:17
How to run Bolt app with Quarkus - remove quarkus-universe-bom
package hello;
import com.slack.api.bolt.App;
import com.slack.api.bolt.servlet.SlackAppServlet;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/slack/events")
public class SlackApp extends SlackAppServlet {
@seratch
seratch / Application.kt
Last active January 28, 2023 00:40
Building Slack apps with Ktor framework
package com.example
import com.slack.api.bolt.App
import com.slack.api.bolt.AppConfig
import com.slack.api.bolt.request.Request
import com.slack.api.bolt.request.RequestHeaders
import com.slack.api.bolt.response.Response
import com.slack.api.bolt.util.QueryStringParser
import com.slack.api.bolt.util.SlackRequestParser
import com.slack.api.model.block.Blocks.asBlocks
@seratch
seratch / MyApp.java
Created March 6, 2020 08:08
Bolt for Java 1.0.0-RC1
package hello;
import com.slack.api.bolt.App;
import com.slack.api.bolt.jetty.SlackAppServer;
public class MyApp {
public static void main(String[] args) throws Exception {
var app = new App();
@seratch
seratch / app.js
Created March 4, 2020 12:36
Bolt JS authorize function example
const { App } = require('@slack/bolt');
const installations = [
{
teamId: 'T12345678', // Copy a message URL to get the value
botToken: 'xoxb-123-123-random', // Install the app from http://api.slack.com/apps
botId: 'B12345678', // Run https://api.slack.com/methods/users.info/test with bot user id
botUserId: 'U12345678', // To get this value, mention the bot user and inspect the message with Slack Developer Tools
},
];
@seratch
seratch / README.md
Last active June 6, 2021 07:34
Slack app built with Bolt for Java (beta) and Quarkus
@seratch
seratch / ng.kt
Created November 23, 2019 14:12
Kotlin parser issue
foo(barBaz?.doSomething())