Skip to content

Instantly share code, notes, and snippets.

View seratch's full-sized avatar

Kazuhiro Sera seratch

View GitHub Profile
@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())
@seratch
seratch / README.md
Last active November 16, 2019 03:53
Build a Slack app using Quarkus!

How to run on your laptop

export SLACK_BOT_TOKEN=xoxb-xxx-yyy
export SLACK_SIGNING_SECRET=zzz
mvn compile quarkus:dev
ngrok http 8080

How to build the app

@seratch
seratch / build.gradle.kts
Last active October 7, 2019 12:04
Lightning ⚡app in Kotlin
plugins {
id("org.jetbrains.kotlin.jvm") version "1.3.50"
}
repositories {
mavenCentral()
}
dependencies {
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))