Module slack_bolt.middleware.message_listener_matches.message_listener_matches
Classes
class MessageListenerMatches (keyword: str | Pattern)-
Expand source code
class MessageListenerMatches(Middleware): def __init__(self, keyword: Union[str, Pattern]): """Captures matched keywords and saves the values in context.""" self.keyword = keyword def process( self, *, req: BoltRequest, resp: BoltResponse, # As this method is not supposed to be invoked by bolt-python users, # the naming conflict with the built-in one affects # only the internals of this method next: Callable[[], BoltResponse], ) -> BoltResponse: text = req.body.get("event", {}).get("text", "") if text: m: Optional[Union[Sequence]] = re.findall(self.keyword, text) if m is not None and m != []: if type(m[0]) is not tuple: m = tuple(m) else: m = m[0] req.context["matches"] = m # tuple or list return next() # As the text doesn't match, skip running the listener return respA middleware can process request data before other middleware and listener functions.
Captures matched keywords and saves the values in context.
Ancestors
Inherited members