geekdpt/slamp

PHP 异步 Slack 客户端,支持 Web & RTM API

0.1.0 2016-08-21 21:02 UTC

README

Slamp logo

slamp

一个异步 Slack RTM & Web API 客户端,适用于 PHP 7,由 Amp 异步框架 提供支持,提供类型化体验和功能齐全的接口。

忘记那些 cURL 包装器,直接使用异步操作!

SensioLabsInsight Packagist (Composer) MIT License

  1. 安装
  2. 使用 我们将学习如何进行那些类似于 Node.js 的操作
  3. Slamp API
  4. 错误处理 因为总会发生意外

安装

使用

Web API

简单消息编写

受到 maknz/slack 的启发,这个 API 基于 Web API,旨在为向频道、群组或即时消息频道发送消息提供一个简单的接口。您必须首先创建一个 Web API 客户端,然后调用 compose() 来创建一个新的消息实例。

一个基本的使用示例可以是:

$client = Slamp\webClient(TOKEN);
yield $client->compose()->sendAsync('Hello there!');

您还可以设置目标频道和/或机器人名称

yield $client->compose()->from('Hello Bot')->to('#general')->sendAsync('Hey, wassup #general?');

to("...") 参数支持不同的表示法

  • #channelC024BE91L 用于公共频道
  • private-groupG012AC86C 用于私人组
  • @username 将消息发送到接收者的 @slackbot 收件箱(您将 不会 以 "slackbot" 的身份出现)
  • D023BB3L2 以机器人的身份发送消息(而不是之前的 slackbot)(您必须在此之前创建此类频道)

您甚至可以在发送后编辑消息或删除它们

$message = yield $client->compose()->to('@guy')->sendAsync('I hate you');

# What I have done.. ?!
yield $message->updateAsync('I love u');

# I should calm down...
yield $message->deleteAsync();

这里是一个可能的调用更完整的列表

$msg = Slamp\webClient(TOKEN)->compose()
    ->from('Sender name')
    ->withIcon(':robot:') # emoji code, or custom image with an URL
    ->to('#channel')
    ->withParsing('full') # defaults to "none", see api.slack.com/docs/message-formatting
    ->linkingNames(true) # defaults to false, sets whether token like #general or @username are parsed and transformed into links
    ->sendAsync('the message text');
    
Amp\wait($msg);

注意:尚不支持附件。

警告:请勿依赖这些方法背后的类型。只需使用这些方法。不要直接操作 MessageComposer,因为其创建方式可能在未来的版本中发生重大变化。

RTM API

错误处理