Safe Haskell | None |
---|---|
Language | Haskell98 |
- data RoomLinks = RoomLinks {}
- data Room = Room {}
- data MessageItem = MessageItem {}
- data WebhookRoomItem = WebhookRoomMessage Room MessageItem
- data WebhookRoomEvent = WebhookRoomEvent {}
- class HasMembers s a | s -> a where
- class HasParticipants s a | s -> a where
- participants :: Lens' s a
- class HasSelf s a | s -> a where
- class HasWebhooks s a | s -> a where
- class HasRoomId s a | s -> a where
- class HasName s a | s -> a where
- class HasLinks s a | s -> a where
- class HasMessage s a | s -> a where
- class HasWebhookId s a | s -> a where
- class HasOauthId s a | s -> a where
- class HasItem s a | s -> a where
- decodeWebhookRoomEvent :: (Functor m, MonadIO m, MonadReader s m, HasRequest s Request) => m (Either String WebhookRoomEvent)
- webhookResource :: (MonadIO m, MonadReader r m, HasRequest r Request, MonadState s m, HasReqData s) => String -> (WebhookRoomEvent -> HaltT m (Maybe Notification)) -> Resource m
- roomMessageWebhookResource :: (MonadIO m, MonadReader r m, MonadState s m, HasReqData s, HasRequest r Request) => String -> (Room -> MessageItem -> HaltT m (Maybe Notification)) -> Resource m
- simpleWebhookResource :: MonadIO m => String -> [Text] -> (Text -> Maybe Text) -> WaiResource m
Documentation
Room | |
|
data MessageItem Source
data WebhookRoomItem Source
class HasMembers s a | s -> a where Source
class HasParticipants s a | s -> a where Source
participants :: Lens' s a Source
class HasWebhooks s a | s -> a where Source
class HasMessage s a | s -> a where Source
class HasWebhookId s a | s -> a where Source
class HasOauthId s a | s -> a where Source
decodeWebhookRoomEvent :: (Functor m, MonadIO m, MonadReader s m, HasRequest s Request) => m (Either String WebhookRoomEvent) Source
:: (MonadIO m, MonadReader r m, HasRequest r Request, MonadState s m, HasReqData s) | |
=> String | webhook name |
-> (WebhookRoomEvent -> HaltT m (Maybe Notification)) | event processor |
-> Resource m |
roomMessageWebhookResource :: (MonadIO m, MonadReader r m, MonadState s m, HasReqData s, HasRequest r Request) => String -> (Room -> MessageItem -> HaltT m (Maybe Notification)) -> Resource m Source
:: MonadIO m | |
=> String | webhook name |
-> [Text] | command aliases, they will be removed before calling the processing function |
-> (Text -> Maybe Text) | processing function, the result will become a room notification |
-> WaiResource m |
Creates a simple "command" processing webhook resource. Commands processes are limited to pure functions that may or may not produce a reply.