嗨。我是IDG通信的Sharon Machlis,这里是关于R的Do More with R: Send a Slack message right from your R script的第29集。
用R发送一条闲置的信息听起来像是客厅里的把戏,但实际上有很多情况下这可以派上用场。我用它向同事发送最新的网络分析趋势图。当一个冗长的R脚本运行完毕时,您还可以使用它来通知自己或其他人。
Bob Rudis创建了一个R包,它使用R发送Slack消息变得很容易。它被称为slackr,它在CRAN上,所以你可以用install.packages()来安装它。
目前这方面最复杂的部分是初始设置。幸运的是,你只需要做的,一旦。让我们通过它一步一步来。
你需要授权R使用你的特定Slack。Bob显示了一个示例配置文件来执行此操作,格式如下
因此,我们需要一个API令牌和一个传入的Web钩子URL。Slack的开发文档可能很难找到。结果是你想要在你想要发送的Slack中创建一个新的Slack应用。
去api.slack.com/apps
点击绿色的创建应用程序按钮。接下来,选择“传入Web钩子”,然后单击按钮激活它们。
最后,向下滚动并添加一个新的Web钩子。你会被问到你想发布到哪个频道。别担心,你可以重写它,你不需要为每个通道都新建一个钩子。这只是默认值。选择一个,然后单击install。
将生成的Web hook URL复制到R Slack配置文件中。
我们还需要一个API令牌。松弛的“遗产”令牌作品这一点。斯莱克会告诉你很多建议警告你不要使用他们,但他们的工作就好了这一点。以下是如何得到一个。
去api.slack.com/custom-integrations/legacy-tokens
你会看到你的Slack工作空间列表。单击Create token按钮。(我这里已经有一个,所以按钮不会出现)。复制令牌并将其放入您的授权文件中。
松弛的设置完成了!
下一步是配置slackr来使用授权文件。这部分更简单:只需运行slackr_setup()函数。
slackr_setup()默认在您的主目录中期待一个名为.slackr的文件。如果您希望在另一个位置使用另一个文件,请将其名称添加到slackr_setup()中——包括不在工作目录中的完整文件路径。可以看到,我在当前项目目录中使用了一个名为.morewithr_slack的文件。
您需要在使用slackr的每个会话开始时运行slackr_setup()。
最后,最有趣的部分!
我有一个简单的文本消息,包括我的当前系统日期和时间保存到变量my_message。要将它发送到Slack,我将运行slackr_msg()函数。第一个参数是消息文本,第二个参数是我要发送到的通道。注意,通道名前面有一个#号。如果你想给某人发送一条私人信息,将通道设置为他们的Slack名称,并在前面加上@符号。
使用slackr_upload()命令发送图像文件也很容易。正如我在上一集从R发送电子邮件时所做的那样,我将创建一个美国每月失业情况的图表,并将其保存到文件“unemployment_graph.png”中。(这不是最重要的部分,我只是需要暂停mtcar和iris样本数据。)
我会发一条短信给Slack解释即将推出的图形,然后我会上传文件本身。
我会像以前一样发短信。接下来是文件上传和slackr_upload()。第一个参数是文件名,接下来是文件标题,最后是通道(您可以一次发送多个通道)。
有你有它:来自R松弛的消息!
这是它为这个情节,感谢收看!对于以上R提示,头向做多有R在页面去点InfoWorld的点com削减更多的与R,除了R.全部小写
你也可以在YouTube IDG技术频道找到更多关于R的播放列表。
希望下一集再见!