module Marvin
(
Script(..), defineScript, ScriptInit
, ScriptId
, ScriptDefinition
, IsAdapter
, hear, respond, customTrigger, send, reply, messageChannel
, getData, getMessage, getMatch, getUsername, getChannelName
, Message(..), User, Channel
, getConfigVal, requireConfigVal
, BotReacting, HasMessage(messageLens), HasMatch(matchLens)
, extractAction, extractReaction
, HasScriptId(scriptId), HasConfig(config), HasAdapter(adapter), HasMessageField(messageField), HasMatchField(matchField), HasVariable(variable), BotActionState(BotActionState), MessageReactionData(MessageReactionData), HasActions(actions)
) where
import Marvin.Adapter (IsAdapter)
import Marvin.Internal
import Marvin.Internal.Types
import Marvin.Types