Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

Gyo - Yo for Go

「Yoはコンテキストだ」。

新時代のコミュニケーションに触れてみようってんで、手遊びに、GoでYo APIのクライアント + Webhookを書いた。まあ、「書いた」とかいうほどのものでもないけど。

こんな感じで使う。以下は、Yoされたら、YoしてきたひとにYoをそのまま返す例。echoサーバみたいなやつ。

package main

import (
    "flag"
    "github.com/kentaro/gyo"
    "log"
)

var apiToken = flag.String("token", "", "API Token")
var port = flag.Int("port", 8080, "Port of the server")
var path = flag.String("path", "/callback", "Callback URL of the server")

func init() {
    flag.Parse()
}

func main() {
    if *apiToken == "" {
        log.Fatalln("API token is required")
    }

    gyo := gyo.NewGyo(*apiToken)
    gyo.Server(*path, *port, func(username string) {
        gyo.Yo(username)
        log.Printf("Sent Yo to %s\n", username)
    })

    return
}

Herokuにデプロイしてみようと思ったけど、面倒になったので、手元で動かしてみて満足した。

どうぞご利用ください。