PHP code example of massimo-filippi / slack-module

1. Go to this page and download the library: Download massimo-filippi/slack-module library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

massimo-filippi / slack-module example snippets




return [
    'Zend\Router',
    'Zend\Validator',
    'MassimoFilippi\SlackModule', // Add this line, ideally before Application module.
    'Application',
];



return [
    'massimo_filippi' => [
        'slack_module' => [
            'config' => [
                'webhook_url' => 'https://hooks.slack.com/services/#########/#########/########################',
                // Whether names like @regan should be converted into links by Slack, default: false
                'link_names' => false,
                // Whether Slack should unfurl links to text-based content, default: false
                'unfurl_links' => false,
                // Whether Slack should unfurl links to media content such as images and YouTube videos, default: true 
                'unfurl_media' => true,
                // Whether message text should be interpreted in Slack's Markdown-like language. For formatting options, see Slack's help article: http://goo.gl/r4fsdO, default: true
                'allow_markdown' => true,
                // Which attachment fields should be interpreted in Slack's Markdown-like language. By default, Slack assumes that no fields in an attachment should be formatted as Markdown. // default: []
                'markdown_in_attachments' => [],
                
                // Allow Markdown in just the text and title fields
                //// 'markdown_in_attachments' => ['text', 'title']
                // Allow Markdown in all fields
                //// 'markdown_in_attachments' => ['pretext', 'text', 'title', 'fields', 'fallback']
                
                'defaults' => [
                    // default username, set to null to use the default set on the Slack webhook, default: null
                    'username' => 'Slack module',
                    // default channel, channel: #general, user: @john.doe, set to null to use the default set on the Slack webhook, default: null
                    'channel' => '#general',
                    // URL to an image or Slack emoji like :ghost: or :+1:, set null to use the default set on the Slack webhook, default: null 
                    'icon' => null 
                ],
            ],
        ],
    ],
];


 

use Maknz\Slack\Message as SlackMessage;
use MassimoFilippi\SlackModule\Model\Attachment as SlackAttachment;

/** @var SlackMessage $slackMessage */
$slackMessage = $this->slackService->createMessage();
$slackMessage->to('#general')
    ->from('John Doe')
    ->withIcon(':ghost:')
    ->setText('This is an amazing message!');

/** @var SlackAttachment $slackAttachment */
$slackAttachment = $this->slackService->createAttachment([
        'fallback' => 'Some fallback text',
        'text' => 'The attachment text'
    ]);
$slackMessage->attach($slackAttachment);

try {
    // Injected MassimoFilippi\SlackModule\Service\SlackService.
    $this->slackService->sendMessage($slackMessage);
} catch (\Exception $exception) {
    var_dump($exception->getMessage());
}
$this->slackService->createMessage();
$this->slackService->createAttachment($arguments);
$this->slackService->createAttachementField($arguments);
$this->slackService->createAttachementAction($arguments);