| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
HipBot.Webhooks
- 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
Constructors
| RoomLinks | |
Constructors
| Room | |
Fields
| |
data MessageItem Source
Constructors
| MessageItem | |
Fields | |
data WebhookRoomItem Source
Constructors
| WebhookRoomMessage Room MessageItem |
data WebhookRoomEvent Source
Constructors
| WebhookRoomEvent | |
class HasMembers s a | s -> a where Source
Instances
class HasWebhooks s a | s -> a where Source
Instances
class HasMessage s a | s -> a where Source
class HasWebhookId s a | s -> a where Source
Instances
class HasOauthId s a | s -> a where Source
Instances
decodeWebhookRoomEvent :: (Functor m, MonadIO m, MonadReader s m, HasRequest s Request) => m (Either String WebhookRoomEvent) Source
Arguments
| :: (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
Arguments
| :: 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.