SlackWebhook

SlackWebhook

Contents

ActionStyle type

Namespace
SlackWebhook.Enums
Summary
Action type

Danger constants

Summary
Turns the button red and indicates it some kind of destructive action

Primary constants

Summary
Turns the button green and indicates the best forward action to take

ActionStyleJsonConverter type

Namespace
SlackWebhook.Core
Summary
ActionStylejson converter

ReadJson() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

WriteJson() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

FormattedTextEncoder type

Namespace
SlackWebhook.Core
Summary
Handles escaping characters which the Slack webhook expects to be HTML encoded.

ICloneable`1 type

Namespace
SlackWebhook.Core
Summary
Cloneable type
Generic Types
Name
Description
T
Type of clone

Clone() method

Summary
Creates new clone of this instance
Returns
Cloned instance
Parameters
This method has no parameters.

IconType type

Namespace
SlackWebhook.Enums
Summary
Icon type

Emoji constants

Summary
Icon is a slack emoji name, e.g.
1
smile
Copied!

Url constants

Summary
Icon is a image URL

ISlackAttachmentBuilder type

Namespace
SlackWebhook
Summary
Slack attachment builder used to configure an attachment to be added to a SlackMessage

WithAuthor(name,linkUrl,iconUrl) method

Summary
With author name, and optional link url and icon url
Parameters
Name
Type
Description
name
Author name (required)
linkUrl
Author link url (optional)
iconUrl
Author icon url (optional)
Remarks
The author parameters will display a small section at the top of a message attachment.
A valid URL that will hyperlink the AuthorNametext mentioned above. Will only work if AuthorNameis present.
A valid URL that displays a small 16x16px image to the left of the AuthorNametext. Will only work if AuthorNameis present.

WithColor(hexColor) method

Summary
With hex-based color
Parameters
Name
Type
Description
hexColor
Hex color or one of named colors (good, warning, danger)
Remarks
Like traffic signals, color-coding messages can quickly communicate intent and help separate them from the flow of other messages in the timeline.
An optional value that can either be one of good, warning, danger, or any hex color code(eg. #439FE0). This value is used to color the border along the left side of the message attachment.

WithColor(color) method

Summary
With color from Colorinstance
Parameters
Name
Type
Description
color
Color instance to set color from

WithFallback(fallback) method

Summary
With required plain-text summary of the attachment
Returns
Parameters
Name
Type
Description
fallback
Remarks
A plain-text summary of the attachment. This text will be used in clients that don't show formatted text (eg. IRC, mobile notifications) and should not contain any markup.

WithField(title,value,isShort,enableFormatting) method

Summary
With attachment field shown as a table inside the message attachment
Parameters
Name
Type
Description
title
Title of field
Shown as a bold heading above the value text. It cannot contain markup and will be escaped for you. | | value | System.String | Value of field (may contain formatting if enabled)
The text value of the field. It may contain standard message markup and must be escaped as normal. May be multi-line. | | isShort | System.Boolean | Whether field can be shown side-by-side with other fields (optional) | | enableFormatting | System.Boolean | Whether or not to enable formatting for value |
Remarks
If enableFormattingis enabled, you can use Slack message formatting in valueand it will automatically be encoded according to slack encoding rules.

WithFooter(text,iconUrl) method

Summary
With footer text and optional footer icon
Returns
Parameters
Name
Type
Description
text
iconUrl
Remarks
Add some brief text to help contextualize and identify an attachment. Limited to 300 characters, and may be truncated further when displayed to users in environments with limited screen real estate.
To render a small icon beside your footer text, provide a publicly accessible URL string in the footer_icon field. You must also provide a footer for the field to be recognized.
We'll render what you provide at 16px by 16px. It's best to use an image that is similarly sized.

WithImage(url) method

Summary
With image url
Parameters
Name
Type
Description
url
Image url
Remarks
A valid URL to an image file that will be displayed inside a message attachment. We currently support the following formats: GIF, JPEG, PNG, and BMP.
Large images will be resized to a maximum width of 400px or a maximum height of 500px, while still maintaining the original aspect ratio.
Summary
With link on attachment title
Parameters
Name
Type
Description
url
Remarks
Link of title (optional)

WithLinkButtonAction(text,url,style) method

Summary
With link button action, shown at the bottom of the attachment
Parameters
Name
Type
Description
text
Test shown on link button
url
URL opened if link button is pressed
Remarks
An attachment may contain multiple actions

WithPreText(text,enableFormatting) method

Summary
With optional pre-text
Parameters
Name
Type
Description
text
Pre-text
enableFormatting
Whether or not to enable formatting for text
Remarks
This is optional text that appears above the message attachment block.

WithText(text,enableFormatting) method

Summary
With optional text
Parameters
Name
Type
Description
text
Text
enableFormatting
Whether or not to enable formatting for text
Remarks
This is the main text in a message attachment, and can contain standard message markup. The content will automatically collapse if it contains 700+ characters or 5+ linebreaks, and will display a "Show more..." link to expand the content. Links posted in the text field will not unfurl.
If enableFormattingis enabled, you can use Slack message formatting in textand it will automatically be encoded according to slack encoding rules.

WithThumbnail(url) method

Summary
With thumbnail url
Parameters
Name
Type
Description
url
Thumbnail url
Remarks
A valid URL to an image file that will be displayed as a thumbnail on the right side of a message attachment. We currently support the following formats: GIF, JPEG, PNG, and BMP.
The thumbnail's longest dimension will be scaled down to 75px while maintaining the aspect ratio of the image. The filesize of the image must also be less than 500 KB.
For best results, please use images that are already 75px by 75px.

WithTimestamp(timestamp) method

Summary
With timestamp based on timestamp
Parameters
Name
Type
Description
timestamp
DateTimeOffset to set timestamp from
Remarks
Does your attachment relate to something happening at a specific time?
By providing the ts field with an integer value in "epoch time", the attachment will display an additional timestamp value as part of the attachment's footer.
Use ts when referencing articles or happenings.Your message will have its own timestamp when published.
Example: Providing 123456789 would result in a rendered timestamp of Nov 29th, 1973.

WithTimestamp(epochTime) method

Summary
With epoc timestamp
Parameters
Name
Type
Description
epochTime
Epoch timestamp
Remarks
Does your attachment relate to something happening at a specific time?
By providing the ts field with an integer value in "epoch time", the attachment will display an additional timestamp value as part of the attachment's footer.
Use ts when referencing articles or happenings.Your message will have its own timestamp when published.
Example: Providing 123456789 would result in a rendered timestamp of Nov 29th, 1973.

WithTitle(title) method

Summary
With required title
Parameters
Name
Type
Description
title
Title
Remarks
The title is displayed as larger, bold text near the top of a message attachment. By passing a valid URL in the TitleLinkparameter (optional), the title text will be

ISlackClient type

Namespace
SlackWebhook
Summary
Slack client

SendAsync(configureBuilder) method

Summary
Send new SlackMessageby configuring the provided ISlackMessageBuilder
Parameters
Name
Type
Description
configureBuilder
Configure message to send using this builder
Exceptions
Name
Description
Thrown if validation of the message fails, such as if a required field is missing.
Uses Validateto perform validation. |

SendAsync(message) method

Summary
Send the provided SlackMessage
Parameters
Name
Type
Description
message
Slack message to send
Exceptions
Name
Description
Thrown if validation of the message fails, such as if a required field is missing.
Uses Validateto perform validation. |

ISlackMessageBuilder type

Namespace
SlackWebhook
Summary
Slack message builder that produces SlackMessageinstances based on the builder's current configuration.

Build() method

Summary
Build SlackMessagebased on current state of the builder
Returns
New message
Parameters
This method has no parameters.
Exceptions
Name
Description
Thrown if validation of the message fails, such as if a required field is missing.
Uses Validateto perform validation. |

WithAttachment(configureAttachment) method

Summary
With attachment build with provided attachment builder
Parameters
Name
Type
Description
configureAttachment
Attachment builder
Remarks
Adds a new SlackAttachmentto Attachmentsbuilt using provided ISlackAttachmentBuilder

WithChannel(channel) method

Summary
With channel
Parameters
Name
Type
Description
channel
The channel.
Remarks
Sets the Channelproperty

WithIcon(iconType,urlOrEmoji) method

Summary
With icon (url or emoji)
Parameters
Name
Type
Description
iconType
Type of icon
urlOrEmoji
URL or emoji name (depending on iconType)
Remarks
Sets the IconUrlor IconEmojibased on iconTypewith the provided value urlOrEmoji

WithText(text,enableFormatting) method

Summary
With required message text
Parameters
Name
Type
Description
text
Message text
enableFormatting
Whether or not to enable formatting for text
Remarks
Sets the Textand EnableFormattingproperties.
If enableFormattingis enabled, you can use Slack message formatting in textand it will automatically be encoded according to slack encoding rules.

WithUsername(username) method

Summary
With username
Parameters
Name
Type
Description
username
Username
Remarks
Sets the Usernameproperty

IValidateable type

Namespace
SlackWebhook.Core
Summary
Object can be validated

Validate(validationErrors) method

Summary
Validates the current state of the object (including any nested validateable members)
Returns
True if the object is valid, false otherwise
Parameters
Name
Type
Description
validationErrors
Validation errors (if any found)
Remarks
Will find all (if any) validation errors and populate validationErrorswith each

SlackAttachment type

Namespace
SlackWebhook.Messages
Summary
Optional attachment to a SlackMessage.

FormattingFields constants

Summary
Used to enable formatting of the Fieldsvalue fields

FormattingPretext constants

Summary
Used to enable formatting of the PreTextfield

FormattingText constants

Summary
Used to enable formatting of the Textfield

Actions property

Summary
Actions shown at the bottom of the message (optional)

AuthorIcon property

Summary
Author icon URL (optional)
Remarks
A valid URL that displays a small 16x16px image to the left of the AuthorNametext. Will only work if AuthorNameis present.
Summary
Author link (optional)
Remarks
A valid URL that will hyperlink the AuthorNametext mentioned above. Will only work if AuthorNameis present.

AuthorName property

Summary
Author name (optional)
Remarks
The author parameters will display a small section at the top of a message attachment

Color property

Summary
Gets or sets the color.
Remarks
Like traffic signals, color-coding messages can quickly communicate intent and help separate them from the flow of other messages in the timeline.
An optional value that can either be one of good, warning, danger, or any hex color code(eg. #439FE0). This value is used to color the border along the left side of the message attachment.

EnableFormatting property

Summary
Enable formatting for various fields of the attachment, use FormattingText, FormattingPretextand FormattingFieldsto contorl which fields have formatting enabled.

Fallback property

Summary
Required plain-text summary of the attachment
Remarks
A plain-text summary of the attachment. This text will be used in clients that don't show formatted text (eg. IRC, mobile notifications) and should not contain any markup.

Fields property

Summary
Fields shown as a table inside the message attachment (optional)
Summary
Footer text shown at the bottom of attachment (optional)
Remarks
Add some brief text to help contextualize and identify an attachment. Limited to 300 characters, and may be truncated further when displayed to users in environments with limited screen real estate.

FooterIcon property

Summary
Icon shown left of footer text (optional)
Remarks
To render a small icon beside your footer text, provide a publicly accessible URL string in the footer_icon field. You must also provide a footer for the field to be recognized.
We'll render what you provide at 16px by 16px. It's best to use an image that is similarly sized.

ImageUrl property

Summary
Image url (optional)
Remarks
A valid URL to an image file that will be displayed inside a message attachment. We currently support the following formats: GIF, JPEG, PNG, and BMP.
Large images will be resized to a maximum width of 400px or a maximum height of 500px, while still maintaining the original aspect ratio.

PreText property

Summary
Optional text that appears above the attachment block
Remarks
This is optional text that appears above the message attachment block.

Text property

Summary
Optional text that appears within the attachment
Remarks
This is the main text in a message attachment, and can contain standard message markup. The content will automatically collapse if it contains 700+ characters or 5+ linebreaks, and will display a "Show more..." link to expand the content. Links posted in the text field will not unfurl.

ThumbnailUrl property

Summary
Thumbnail url (optional)
Remarks
A valid URL to an image file that will be displayed as a thumbnail on the right side of a message attachment. We currently support the following formats: GIF, JPEG, PNG, and BMP.
The thumbnail's longest dimension will be scaled down to 75px while maintaining the aspect ratio of the image. The filesize of the image must also be less than 500 KB.
For best results, please use images that are already 75px by 75px.

Timestamp property

Summary
Timestamp (epoch time) shown below attachment (optional)
Remarks
Does your attachment relate to something happening at a specific time?
By providing the ts field with an integer value in "epoch time", the attachment will display an additional timestamp value as part of the attachment's footer.
Use ts when referencing articles or happenings.Your message will have its own timestamp when published.
Example: Providing 123456789 would result in a rendered timestamp of Nov 29th, 1973.

Title property

Summary
Title of attachment (required)
Remarks
The title is displayed as larger, bold text near the top of a message attachment. By passing a valid URL in the TitleLinkparameter (optional), the title text will be hyperlinked.
Summary
Link of title (optional)

Clone() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SetColor(color) method

Summary
Set color hex code from Color
Parameters
Name
Type
Description
color
Color to set color hex from

SetTimestamp(timestamp) method

Summary
Set Timestampepoch value based on provided date time
Parameters
Name
Type
Description
timestamp
Timestamp to set epohc time from

Validate() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SlackAttachmentAction type

Namespace
SlackWebhook.Messages
Summary
Optional action to se SlackAttachment.

#ctor(type) constructor

Summary
Initialize attachment action
Parameters
Name
Type
Description
type
Type of action

Text property

Summary
Text displayed for the action
Remarks
How this is presented depends on the type of action

Type property

Summary
Type of action

Clone() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

Validate() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SlackAttachmentBuilder type

Namespace
SlackWebhook

SetEnableFormatting(formattingType,enable) method

Summary
Enables or disables formatting by adding/removing formattingTypefrom EnableFormatting
Parameters
Name
Type
Description
formattingType
Formatting type
enable
Whether to enable (add) or disable (remove)

SlackAttachmentField type

Namespace
SlackWebhook.Messages
Summary
Optional attachment field added to Fields

Short property

Summary
Whether field can be shown side-by-side with other fields (optional)

Title property

Summary
Title of field
Remarks
Shown as a bold heading above the value text. It cannot contain markup and will be escaped for you.

Value property

Summary
Value of field (may contain formatting if enabled)
Remarks
The text value of the field. It may contain standard message markup and must be escaped as normal. May be multi-line.

Clone() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

Validate() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SlackAttachmentLinkButtonAction type

Namespace
SlackWebhook.Messages
Summary
Button action which will open a Url, if clicked

#ctor() constructor

Summary
Create new empty link button action
Parameters
This constructor has no parameters.

Style property

Summary
Optional style

Url property

Summary
URL to open if link button is clicked

Clone() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

Validate() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SlackClient type

Namespace
SlackWebhook
Summary
Inherit from parent.

#ctor() constructor

Summary
Inherit from parent.
Parameters
This constructor has no parameters.

SendAsync() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SendAsync() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SlackMessage type

Namespace
SlackWebhook.Messages
Summary
Basis for a Slack message which can be sent to the webhook URL

Attachments property

Summary
Attachments to show below message (optional)

Channel property

Summary
Channel the message is posted into (optional)

EnableFormatting property

Summary
Whether or not to enable formatting for this message
Remarks
Default true

IconEmoji property

Summary
Icon emoji name () (optional)
Remarks
Either provide this OR IconUrl, but not both

IconUrl property

Summary
Icon URL to show before username (optional)
Remarks
Either provide this OR IconEmoji, but not both

Text property

Summary
Message text which may contain formatting (unless EnableFormattingis deactivated) and can span multiple lines.
Remarks
You can use the regular Slack formatting
1
*bold* `code` _italic_ ~strike~
Copied!
and also include links
1
<URL|title>
Copied!

Username property

Summary
Username shown (optional)

Clone() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

ThrowIfInvalid() method

Summary
Checks the current state using Validateand throws a SlackMessageValidationExceptionwith all validations errors, if any are found.
Parameters
This method has no parameters.

Validate() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

SlackMessageBuilder type

Namespace
SlackWebhook
Summary
Inherit from parent.

#ctor() constructor

Summary
Create new slack message builder
Parameters
This constructor has no parameters.

Build() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

WithAttachment() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

WithChannel() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

WithIcon() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

WithText() method

Summary
Inherit from parent.
Parameters
This method has no parameters.

WithUsername() method

Summary
Inherit from parent.
Parameters
This method has no parameters.