n/Z5      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 None5678565678 None5If3Message text in the format returned by Slack, see  -https://api.slack.com/docs/message-formatting Consider using  messageToHtml for displaying.9 : ;<=>9 :  9 : ;<=>None!"[;Convert the slack format for messages (markdown like, see  -https://api.slack.com/docs/message-formatting ) to HTML.( ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_>Renderers allow you to customize the message rendering. Give  for a default implementation.9A function giving a user name for a user id. You can use  "A slack message to convert to HTML The HTML-formatted slack message`a    ?@A BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aNone!"5I"%not present for bot messages at least#Cthe message text is in a markdown-like slack-specific format. Use  to convert it to HTML.80Errors that can be triggered by a slack request.9"errors from the network connection: errors returned by the slack API !"#$%&'()*0123489:;#  !"#$%&'012389:#  '0123 !"#$%&89:  !"#$%&'()*0123489:;None5?@ABCDEFGKLMNR ?@BGACDEFKLM ?@ABCDEFGKLM?@ABCDEFGKLMNRNone5f STUVWXY]^_`d STUVWXY]^_ STUVWXY]^_STUVWXY]^_`dNone5efghijklmnoptuvw{efhgijklmnoptuvefghijklmnoptuve fghijklmnoptuvw{None5&|}~"|}~"|}~| }~None53**None5   None5          None,DQRbInternal type!Implements the  and  typeclasses.Check API calling code. &https://api.slack.com/methods/api.test "Check authentication and identity. 'https://api.slack.com/methods/auth.test!Create a channel. -https://api.slack.com/methods/channels.create"Retrieve channel list. +https://api.slack.com/methods/channels.list#*Retrieve channel history. Consider using -" in combination with this function .https://api.slack.com/methods/channels.history$Send a message to a channel. .https://api.slack.com/methods/chat.postMessage%This method returns a list of private channels in the team that the caller is in and archived groups that the caller was in. The list of (non-deactivated) members in each private channel is also returned. )https://api.slack.com/methods/groups.list&This method returns a portion of messages/events from the specified private channel. To read the entire history for a private channel, call the method with no latest or oldest arguments, and then continue paging. Consider using -" in combination with this function ,https://api.slack.com/methods/groups.history'?Returns a list of all direct message channels that the user has %https://api.slack.com/methods/im.list(9Retrieve direct message channel history. Consider using -" in combination with this function (https://api.slack.com/methods/im.history)JReturns a list of all multiparty direct message channels that the user has 'https://api.slack.com/methods/mpim.list*DRetrieve multiparty direct message channel history. Consider using -" in combination with this function *https://api.slack.com/methods/mpim.history+^This method returns a list of all users in the team. This includes deleted/deactivated users. (https://api.slack.com/methods/users.list,,Returns a function to get a username from a . Comes in handy to use -<Fetch all history items between two dates. The basic calls #, &, (_ and so on may not return exhaustive results if there were too many records. You need to use + to find out whether you got all the data.This function will repeatedly call the underlying history function until all the data is fetched or until a call fails, merging the messages obtained from each call./tPrepare a SlackConfig from a slack token. You can then call the other functions providing this in a reader context.3cbdefgh !"#$%&'()*+,EA function to give a default username in case the username is unknown0List of users as known by the slack server. See +.A function from  to username.-)The request to make. Can be for instance *, #...The channel name to query'The number of entries to fetch at once.*The oldest timestamp to fetch records from(The newest timestamp to fetch records toYA list merging all the history records that were fetched through the individual queries.ijklmnopqrstuv.wxy/012 !"#$%&'()*+,-.// $!"#&%-(')*,+.,cbdefgh !"#$%&'()*+,-ijklmnopqrstuv.wxy/012z             !!"#$%&'()**+,-./0123456789::;<=>?@ABCDEFGGHIJKLMNOPQRRSTUVWXYYZ[\]^_`aRRbcUVWXddefghijklmnopqRRrsUVWXttuvwxyz{|}~RRUVWX                                        !"#$%&'())*+,-./0123456789:;<= > ? > @ @ A B C D E F G H I J K L M N O P Q R ST(slack-web-0.2.0.2-9s4g5wUQmddDuW7LoDD9g6Web.Slack.CommonWeb.Slack.MessageParserWeb.Slack.Group Web.Slack.ImWeb.Slack.UserWeb.Slack.ChatWeb.Slack.ChannelWeb.Slack.Auth Web.Slack.Api Web.SlackWeb.Slack.UtilWeb.Slack.Types getUserDesc messageToHtmlhistoryRspHasMoreSlackTimestampslackTimestampTsslackTimestampTimeSlackMessageTextunSlackMessageTextUserIdunUserIdColorunColormkSlackTimestamp HtmlRenderersemoticonRendererdefaultHtmlRenderers$fShowSlackUrl $fEqSlackUrl$fShowSlackMsgItem$fEqSlackMsgItem HistoryReqhistoryReqChannelhistoryReqCounthistoryReqLatesthistoryReqOldesthistoryReqInclusive$fEqHistoryReq$fGenericHistoryReq$fShowHistoryReqMessage messageType messageUser messageText messageTs MessageTypeMessageTypeMessage mkHistoryReq$fFromJSONMessageType$fToFormHistoryReq$fFromJSONHistoryReq$fEqMessageType$fShowMessageType $fEqMessage$fGenericMessage $fShowMessage HistoryRsphistoryRspMessages$fFromJSONMessage$fEqHistoryRsp$fGenericHistoryRsp$fShowHistoryRspSlackClientError ServantError SlackError$fFromJSONHistoryRsp$fEqSlackClientError$fGenericSlackClientError$fShowSlackClientErrorGroupgroupId groupName groupIsMpim groupCreated groupCreatorgroupIsArchived groupMembers $fEqGroup$fGenericGroup $fShowGroupListRsp listRspGroups$fFromJSONGroup $fEqListRsp$fGenericListRsp $fShowListRsp$fFromJSONListRspImimIdimIsImimUser imCreatedimIsUserDeleted$fEqIm $fGenericIm$fShowIm listRspIms $fFromJSONImUseruserIduserName userDeleted userColor userIsAdmin userIsOwneruserIsPrimaryOwneruserIsRestricteduserIsUltraRestricted userUpdated$fEqUser $fGenericUser $fShowUserlistRspMembers$fFromJSONUserPostMsg postMsgText postMsgParsepostMsgLinkNamespostMsgAttachmentspostMsgUnfurlLinkspostMsgUnfurlMediapostMsgUsername postMsgAsUserpostMsgIconUrlpostMsgIconEmojipostMsgThreadTspostMsgReplyBroadcast $fEqPostMsg$fGenericPostMsg $fShowPostMsg PostMsgReqpostMsgReqChannelpostMsgReqTextpostMsgReqParsepostMsgReqLinkNamespostMsgReqAttachmentspostMsgReqUnfurlLinkspostMsgReqUnfurlMediapostMsgReqUsernamepostMsgReqAsUserpostMsgReqIconUrlpostMsgReqIconEmojipostMsgReqThreadTspostMsgReqReplyBroadcast$fFromJSONPostMsg$fToJSONPostMsg$fEqPostMsgReq$fGenericPostMsgReq$fShowPostMsgReq PostMsgRsp postMsgRspTspostMsgRspMessage mkPostMsgReq$fToFormPostMsgReq$fFromJSONPostMsgReq$fToJSONPostMsgReq$fEqPostMsgRsp$fGenericPostMsgRsp$fShowPostMsgRsp$fFromJSONPostMsgRspTopic topicValue topicCreator topicLastSetPurpose purposeValuepurposeCreatorpurposeLastSetChannel channelId channelNamechannelCreatedchannelCreatorchannelIsArchivedchannelIsMemberchannelIsGeneralchannelLastRead channelLatestchannelUnreadCountchannelUnreadCountDisplaychannelMembers channelTopicchannelPurpose $fEqPurpose$fGenericPurpose $fShowPurpose $fEqTopic$fGenericTopic $fShowTopic $fEqChannel$fGenericChannel $fShowChannel$fFromJSONChannel$fFromJSONPurpose$fToJSONPurpose CreateReq createReqNamecreateReqValidate$fFromJSONTopic $fToJSONTopic $fEqCreateReq$fGenericCreateReq$fShowCreateReq CreateRspcreateRspChannel mkCreateReq$fToFormCreateReq$fFromJSONCreateReq$fToJSONCreateReq $fEqCreateRsp$fGenericCreateRsp$fShowCreateRspListReqlistReqExcludeArchivedlistReqExcludeMembers$fFromJSONCreateRsp $fEqListReq$fGenericListReq $fShowListReqlistRspChannels mkListReq$fToFormListReq$fFromJSONListReq$fToJSONListReqTestRsp testRspUrl testRspTeam testRspUser testRspTeamId testRspUserIdtestRspEnterpriseId $fEqTestRsp$fGenericTestRsp $fShowTestRsp$fFromJSONTestRsp$fToJSONTestRspTestReq testReqError testReqFoo $fEqTestReq$fGenericTestReq $fShowTestReq testRspArgs mkTestReq$fToFormTestReq$fFromJSONTestReq$fToJSONTestReqResponse SlackConfigslackConfigManagerslackConfigTokenHasToken HasManagerapiTestauthTestchannelsCreate channelsListchannelsHistorychatPostMessage groupsList groupsHistoryimList imHistorympimList mpimHistory usersListhistoryFetchAllauthenticateReq mkSlackConfig$fFromJSONResponseJSON$fHasTokenSlackConfig$fHasManagerSlackConfig$fEqResponseSlackError$fShowResponseSlackErrorformOptsjsonOpts modifyLabeladdUnderscoresslackTimestampToTime$fFromJSONSlackTimestamp$fToHttpApiDataSlackTimestamp$fOrdSlackTimestamp SlackParserMegaparsecError SlackMsgItemSlackMsgItemPlainTextSlackMsgItemBoldSectionSlackMsgItemItalicsSection SlackMsgItemStrikethroughSectionSlackMsgItemLinkSlackMsgItemUserLinkSlackMsgItemInlineCodeSectionSlackMsgItemCodeSectionSlackMsgItemQuotedSlackMsgItemEmoticonSlackUrl unSlackUrl parseMessageparseMessageItemparsePlainTextparseWhitespacesectionEndSymbolparseCharDelimitedSection wordBoundaryparseBoldSectionparseItalicsSectionparseStrikethroughSection parseEmoticon parseUserLink parseLink parseCodeparseInlineCodeparseBlockQuoteblockQuoteLinemessageToHtml' msgItemToHtml ResponseJSONApiResponseSlackErrorgetToken getManagermergeResponsesapiTest_ authTest_channelsCreate_channelsHistory_ channelsList_chatPostMessage_groupsHistory_ groupsList_ imHistory_imList_ mpimList_ mpimHistory_ usersList_runmkSlackAuthenticateReq unnestErrors