glirc-2.40: src/Client/Hooks.hs
{-# Language OverloadedStrings #-}
{-|
Module : Client.Hooks
Description : Available hooks
Copyright : (c) Dan Doel, 2016
License : ISC
Maintainer : dan.doel@gmail.com
The collection of all hooks available in the client.
-}
module Client.Hooks
( messageHooks
) where
import Client.Hook (MessageHook)
import Data.HashMap.Strict (HashMap, fromList)
import Data.Text (Text)
import Client.Hook.DroneBLRelay (droneblRelayHook)
import Client.Hook.Matterbridge (matterbridgeHook)
import Client.Hook.Snotice (snoticeHook)
import Client.Hook.Znc.Buffextras (buffextrasHook)
-- | All the available message hooks.
messageHooks :: HashMap Text ([Text] -> Maybe MessageHook)
messageHooks = fromList
[ ("snotice", \_ -> Just snoticeHook)
, ("droneblrelay", droneblRelayHook)
, ("buffextras", buffextrasHook)
, ("matterbridge", matterbridgeHook)
]