Slack上で動くBotを僕はBotkitを使って実装している
例えばSlackのSlash Commandを使う時にリクエストの受け口としてBotkitではExpressでwebserverをたてて対応をしている
例えば↓こんな感じ
controller.setupWebserver(process.env.port,function(err,webserver) { controller.createWebhookEndpoints(controller.webserver); controller.createOauthEndpoints(controller.webserver,function(err,req,res) { if (err) { res.status(500).send('ERROR: ' + err); } else { res.send('Success!'); } }); });
これでBotkit側で用意されているwebhook用のエンドポイント、認証用のエンドポイントが使えるようになる
今回はここに任意のエンドポイントを追加したかった
そんな時はsetupWebserver
の第二引数で渡すメソッドのwebserverに対して指定することで実現できる
import { Request, Response } from "express"; ~~~~ controller.setupWebserver(3100, function(err, webserver) { ~~~~ webserver.get('/health', function(req: Request, res: Response) { res.status(200).send("OK") }); });