xteam/slackmessengerbundle

与 Slack 集成的软件包

v0.1.1 2016-03-04 17:28 UTC

This package is not auto-updated.

Last update: 2024-09-18 09:02:05 UTC


README

此软件包允许您接收和发布与 Message 对象映射的 Slack 消息。

Scrutinizer Code Quality ScrutinizerBuild Status Travis Build Status SensioLabsInsight

扩展

要接收消息,您需要创建一个 EventListener,该监听器将监听事件 slack.message_received

示例

namespace PP\AwesomeBundle\EventListener;

use XTeam\SlackMessengerBundle\Event\MessageEvent;

class AwesomeWorkListener
{
    public function doYourJob(MessageEvent $event)
    {
        $message = $event->getMessage();
        /** Do the right job **/
    }
}

并在 services.yml 中注册

;PP/AwesomeBundle/Resources/config/service.yml
services:
    pp_awesome.awesome.listener:
        class: %pp_awesome.awesome.listener.class%
        tags:
            - { name: kernel.event_listener, event: slack.message_received, method: doYourJob }

安装

步骤 1: Composer require

$ php composer.phar require xteam/slackmessengerbundle "dev-master"

步骤 2: 启用软件包

在 kernel 中启用软件包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new XTeam\SlackMessengerBundle\XTeamSlackMessengerBundle(),
    );
}

步骤 3: 添加到参数.yml

#app/config/parameters.yml
parameters:
  # ...
  slack.token: Your SLack token

步骤 4: 添加路由

#app/congig/routes.yml

x_team_slack_messenger:
    resource: "@XTeamSlackMessengerBundle/Resources/config/routing.yml"
    prefix:   /

注意事项

此软件包需要 Symfony 版本高于或等于 2.7

使用示例

curl -X POST --data 'token=XXXXXXXXXXXXXXXXXX&team_id=T0001&team_domain=example&channel_id=C2147483705&channel_name=test&timestamp=1355517523.000005&user_id=U2147483697&user_name=Steve&text=googlebot: What is the air-speed velocity of an unladen swallow?&trigger_word=googlebot' https:///app_dev.php/v1/message/post

curl -X POST --data 'token=XXXXXXXXXXXXXXXXXX&team_id=T0001&team_domain=example&channel_id=C2147483705&channel_name=test&timestamp=1355517523.000005&user_id=U2147483697&user_name=Steve&text=googlebot: What is the air-speed velocity of an unladen swallow? /five <@U07E9557H> and <@U07HSHYAU>&trigger_word=googlebot' https:///app_dev.php/v1/message/post