Winston transport for logging as a Slack bot user
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
.gitignore
LICENSE
README.md
package.json

README.md

#winston-slackbotuser

Winston transport to log as a Slack bot user.

Installation

npm install winston-slackbotuser

Adds a new bot to your Slack team and write down the API Token.

Adds slackbotuser transport to winston with API token and channel set. You can either add the transport to the default winston logger.

winston.add(require('winston-slackbotuser'), {
    token: 'xoxb-1234567890-ABCDEFGHIJKLMNOPQRSTUVWX',
    channel: '#general'
});

Or with a new logger instance.

require('winston-slackbotuser');

new (winston.Logger)({
    transports: [
        new (winston.transports.SlackBotUser)({
            token: 'xoxb-1234567890-ABCDEFGHIJKLMNOPQRSTUVWX',
            channel: '#general'
        }
    ]
});

By default, slackbotuser log level is set to info. If you want to log debug messages, set the level option to debug.

Options

Sample set of options

{
    token: 'xoxb-1234567890-ABCDEFGHIJKLMNOPQRSTUVWX',
    channel: '#general',
    username: 'My Bot',
    as_user: true,
    parse: 'full',
    link_names: 1,
    unfurl_links: true,
    unfurl_media: false,
    icon_url: 'http://lorempixel.com/48/48',
    icon_emoji: ':japanese_goblin:',

    emojis: {
        debug: 'ant',
        warn: 'warning',
        error: 'fire'
    },
    level: 'debug',
    meta: true
}
Name Example Required Description
token xxxx-xxxxxxxxx-xxxx Required API Token for the bot user
channel #general Required Channel to log to
username My Bot Optional Display name of the bot user
as_user true Optional Pass true to post the message as the authed user, instead of as a bot
parse full Optional Change how messages are treated.
link_names 1 Optional Find and link channel names and usernames.
unfurl_links true Optional Pass true to enable unfurling of primarily text-based content.
unfurl_media false Optional Pass false to disable unfurling of media content.
icon_url http://lorempixel.com/48/48 Optional URL to an image to use as the icon for this message
icon_emoji :chart_with_upwards_trend: Optional emoji to use as the icon for this message. Overrides icon_url.
prefix_emojis { debug: ":ant:" } Optional emoji to prefix when a specific log level is used.
level info Optional Log level.
meta true Optional Pass false to disable logging metadata.

Please refer to Slack API for details of options. Attachments are currently unsupported.

Contributions

For issues, please provide a minimal repro and post the issue to GitHub issues.