marvin-0.0.5: src/Marvin.hs
{-|
Module : $Header$
Description : Marvin the modular bot
Copyright : (c) Justus Adam, 2016
License : BSD3
Maintainer : dev@justus.science
Stability : experimental
Portability : POSIX
-}
module Marvin
( -- * Scripts
Script(..), defineScript, ScriptInit
, ScriptId
, ScriptDefinition
, IsAdapter
-- * Reacting
, hear, respond, enter, exit, enterIn, exitFrom, topic, topicIn, customTrigger
, send, reply, messageChannel, messageChannel'
, getData, getMessage, getMatch, getTopic, getChannel, getUser, getUsername, getChannelName
, Message(..), User, Channel
, getConfigVal, requireConfigVal
, BotReacting, HasMessage(messageLens), HasMatch(matchLens), HasTopic(topicLens), HasChannel(channelLens), HasUser(userLens)
-- ** Advanced actions
, extractAction, extractReaction
) where
import Marvin.Adapter (IsAdapter)
import Marvin.Internal
import Marvin.Internal.Types