module Marvin
(
Script(..), defineScript, ScriptInit
, ScriptId
, ScriptDefinition
, IsAdapter
, 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)
, extractAction, extractReaction
) where
import Marvin.Adapter (IsAdapter)
import Marvin.Internal
import Marvin.Internal.Types