haskbot-core-0.0.1.1: src/Network/Haskbot.hs
-- | A minimal Haskbot server can be run via:
--
-- > {-# LANGUAGE OverloadedStrings #-}
-- >
-- > import Network.Haskbot
-- > import Network.Haskbot.Plugin
-- > import qualified Network.Haskbot.Plugin.Help as Help
-- >
-- > main :: IO ()
-- > main = haskbot registry 3000
-- >
-- > registry :: [Plugin]
-- > registry = [ Help.register registry "my_secret_token" ]
--
-- This will run Haskbot on port 3000 with the included
-- "Network.Haskbot.Plugin.Help" plugin installed, where @\"my_secret_token\"@
-- is the secret token of a Slack slash command integration corresponding to
-- the @/haskbot@ command and pointing to the Haskbot server.
--
-- Be sure to create a Slack incoming integration (usually named /Haskbot/)
-- with the local @HASKBOT_ENDPOINT@ environment variable set to the
-- integration's endpoint URL (including the secret key query string), so that
-- Slack can process replies from Haskbot.
module Network.Haskbot
(
-- * Run a Haskbot server
Haskbot, haskbot
) where
import Network.Haskbot.Internal.Environment (Haskbot)
import Network.Haskbot.Internal.Server (webServer)
import Network.Haskbot.Internal.Plugin (Plugin)
-- | Run a Haskbot server with the listed plugins on the specified port.
haskbot :: [Plugin] -- ^ List of all Haskbot plugins to include
-> Int -- ^ Port on which to run Haskbot server
-> IO ()
haskbot = webServer