0.11.0 / 2018-08-27
- [new] add predicates:
isTextMatch
Creates a predicate function to return true when text matches.
const { isTextMatch } = require('bottender-compose');
isTextMatch('abc')(context); // boolean
isTextMatch(/abc/)(context); // booleanisPayloadMatch
Creates a predicate function to return true when payload matches.
const { isPayloadMatch } = require('bottender-compose');
isPayloadMatch('abc')(context); // boolean
isPayloadMatch(/abc/)(context); // booleanhasStateEqual
Creates a predicate function to return true when state matches.
const { hasStateEqual } = require('bottender-compose');
hasStateEqual('x', 1)(context); // boolean
hasStateEqual('x.y.z', 1)(context); // boolean
hasStateEqual('x', { y: { z: 1 } })(context); // booleannot
Creates a predicate function with not condition.
const { not, hasStateEqual } = require('bottender-compose');
const predicate = not(hasStateEqual('x', 1));
predicate(context); // booleanand
Creates a predicate function with and condition.
const { and, hasStateEqual } = require('bottender-compose');
const predicate = and([
isTextMatch('abc'),
hasStateEqual('x', 1))
]);
predicate(context) // booleanor
Creates a predicate function with or condition.
const { or, hasStateEqual } = require('bottender-compose');
const predicate = or([
isTextMatch('abc'),
hasStateEqual('x', 1))
]);
predicate(context) // booleanalwaysTrue
Creates a predicate function that always return true.
const { alwaysTrue } = require('bottender-compose');
const predicate = alwaysTrue();
predicate(context); // truealwaysFalse
Creates a predicate function that always return false.
const { alwaysFalse } = require('bottender-compose');
const predicate = alwaysFalse();
predicate(context); // falseMessenger
isMessageisTexthasAttachmentisImageisAudioisVideoisLocationisFileisFallbackisStickerisLikeStickerisQuickReplyisEchoisPostbackisGamePlayisOptinisPaymentisCheckoutUpdateisPreCheckoutisReadisDeliveryisPayloadisPolicyEnforcementisAppRolesisStandbyisPassThreadControlisTakeThreadControlisRequestThreadControlisRequestThreadControlFromPageInboxisFromCustomerChatPluginisReferralisBrandedCamera
LINE
isMessageisTextisImageisVideoisAudioisLocationisStickerisFollowisUnfollowisJoinisLeaveisPostbackisPayloadisBeaconisAccountLink
Slack
isMessageisChannelsMessageisGroupsMessageisImMessageisMpimMessageisTextisInteractiveMessageisAppUninstalledisChannelArchiveisChannelCreatedisChannelDeletedisChannelHistoryChangedisChannelRenameisChannelUnarchiveisDndUpdatedisDndUpdated_userisEmailDomainChangedisEmojiChangedisFileChangeisFileCommentAddedisFileCommentDeletedisFileCommentEditedisFileCreatedisFileDeletedisFilePublicisFileSharedisFileUnsharedisGridMigrationFinishedisGridMigrationStartedisGroupArchiveisGroupCloseisGroupHistoryChangedisGroupOpenisGroupRenameisGroupUnarchiveisImCloseisImCreatedisImHistoryChangedisImOpenisLinkSharedisMemberJoinedChannelisMemberLeftChannelisPinAddedisPinRemovedisReactionAddedisReactionRemovedisStarAddedisStarRemovedisSubteamCreatedisSubteamMembersChangedisSubteamSelfAddedisSubteamSelfRemovedisSubteamUpdatedisTeamDomainChangeisTeamJoinisTeamRenameisTokensRevokedisUrlVerificationisUserChange
Telegram
isMessageisTextisAudioisDocumentisGameisPhotoisStickerisVideoisVoiceisVideoNoteisContactisLocationisVenueisEditedMessageisChannelPostisEditedChannelPostisInlineQueryisChosenInlineResultisCallbackQueryisPayloadisShippingQueryisPreCheckoutQuery
Viber
isMessageisTextisPictureisVideoisFileisStickerisContactisURLisLocationisSubscribedisUnsubscribedisConversationStartedisDeliveredisSeenisFailed
isFeedisStatusisStatusAddisStatusEditedisPostisPostRemoveisCommentisCommentAddisCommentEditedisCommentRemoveisLikeisLikeAddisLikeRemoveisReactionisReactionAddisReactionEditisReactionRemove