Slack机器人外出并从外部页面读取数据然后发布?

时间:2016-04-21 19:35:19

标签: slack-api slack

我有一个外部网站,其上有一些动态数据,可以定期刷新。我想设置一个Slack机器人到达该站点(可能通过卷曲或屏幕抓取)并将第一行数据返回到通道中的消息。

我浏览了一些整合,但我还没有发现任何适合该法案的内容。我无法控制外部网站以向其发送Slack按钮。

谢谢!

2 个答案:

答案 0 :(得分:1)

假设卷曲/刮擦部分按预期工作,您应该没有具体问题。当用户键入斜杠命令或bot关键字时,您可以从服务器执行抓取:

如果您分享了有关您使用的框架的更多详细信息,甚至可以共享您的代码,那将会有所帮助

答案 1 :(得分:-1)

如果您在Go编写机器人,我们非常欢迎您使用我的Slack Bot框架https://github.com/shomali11/slacker

您可以轻松创建响应提及并指示消息的机器人,然后回复。

例如:

package main

import (
    "github.com/shomali11/slacker"
    "log"
)

func main() {
    bot := slacker.NewClient("<YOUR SLACK BOT TOKEN>")

    bot.Command("ping", "Ping!", func(request *slacker.Request, response *slacker.Response) {
        response.Reply("pong")
    })

    bot.Command("read <url>", "Read content of a URL", func(request *slacker.Request, response *slacker.Response) {
        urlContent := readData(request.Param("url"))
        response.Reply(urlContent)
    })

    err := bot.Listen()
    if err != nil {
        log.Fatal(err)
    }
}

对于readData方法,在Go中从外部页面读取数据应该相对简单。以下是使用gorequest的示例:

request := gorequest.New()
response, body, errs := request.Get("http://example.com/").End()