matrix-bot-0.2.0: Matrix multipurpose bot
Safe HaskellNone
LanguageHaskell2010

MatrixBot.Bot.BotConfig

Synopsis

Documentation

data BotConfig Source #

Bot configuration

Note that feature configuration is a list of entries. It means a list of filters and applied action in case a filter is matching. An event will go through all such entries and apply each that would have its filter matching the event.

Instances

Instances details
FromJSON BotConfig Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Methods

parseJSON :: Value -> Parser BotConfig

parseJSONList :: Value -> Parser [BotConfig]

omittedField :: Maybe BotConfig

ToJSON BotConfig Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Methods

toJSON :: BotConfig -> Value

toEncoding :: BotConfig -> Encoding

toJSONList :: [BotConfig] -> Value

toEncodingList :: [BotConfig] -> Encoding

omitField :: BotConfig -> Bool

Generic BotConfig Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Associated Types

type Rep BotConfig 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfig = D1 ('MetaData "BotConfig" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "botConfigReactToUsers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [BotConfigReactToUsers])) :*: S1 ('MetaSel ('Just "botConfigReplyToMedia") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [BotConfigReplyToMedia]))))

Methods

from :: BotConfig -> Rep BotConfig x

to :: Rep BotConfig x -> BotConfig

Show BotConfig Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Methods

showsPrec :: Int -> BotConfig -> ShowS

show :: BotConfig -> String

showList :: [BotConfig] -> ShowS

Eq BotConfig Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Methods

(==) :: BotConfig -> BotConfig -> Bool

(/=) :: BotConfig -> BotConfig -> Bool

type Rep BotConfig Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfig = D1 ('MetaData "BotConfig" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "botConfigReactToUsers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [BotConfigReactToUsers])) :*: S1 ('MetaSel ('Just "botConfigReplyToMedia") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [BotConfigReplyToMedia]))))

data BotConfigReactToUsers Source #

Bot configuration entry for “react-to-users" feature

Constructors

BotConfigReactToUsers 

Fields

Instances

Instances details
FromJSON BotConfigReactToUsers Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

ToJSON BotConfigReactToUsers Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Generic BotConfigReactToUsers Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Associated Types

type Rep BotConfigReactToUsers 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReactToUsers = D1 ('MetaData "BotConfigReactToUsers" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReactToUsers" 'PrefixI 'True) (S1 ('MetaSel ('Just "botConfigReactToUsersUsersFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe UsersFilter)) :*: (S1 ('MetaSel ('Just "botConfigReactToUsersRoomsFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RoomsFilter)) :*: S1 ('MetaSel ('Just "botConfigReactToUsersLeaveReactions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Text)))))
Show BotConfigReactToUsers Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Methods

showsPrec :: Int -> BotConfigReactToUsers -> ShowS

show :: BotConfigReactToUsers -> String

showList :: [BotConfigReactToUsers] -> ShowS

Eq BotConfigReactToUsers Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReactToUsers Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReactToUsers = D1 ('MetaData "BotConfigReactToUsers" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReactToUsers" 'PrefixI 'True) (S1 ('MetaSel ('Just "botConfigReactToUsersUsersFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe UsersFilter)) :*: (S1 ('MetaSel ('Just "botConfigReactToUsersRoomsFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RoomsFilter)) :*: S1 ('MetaSel ('Just "botConfigReactToUsersLeaveReactions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Text)))))

data BotConfigReplyToMedia Source #

Bot configuration entry for “reply-to-media" feature

Constructors

BotConfigReplyToMedia 

Fields

Instances

Instances details
FromJSON BotConfigReplyToMedia Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

ToJSON BotConfigReplyToMedia Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Generic BotConfigReplyToMedia Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Associated Types

type Rep BotConfigReplyToMedia 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia = D1 ('MetaData "BotConfigReplyToMedia" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia" 'PrefixI 'True) ((S1 ('MetaSel ('Just "botConfigReplyToMediaUsersFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe UsersFilter)) :*: S1 ('MetaSel ('Just "botConfigReplyToMediaRoomsFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RoomsFilter))) :*: (S1 ('MetaSel ('Just "botConfigReplyToMediaMsgtypeFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MediaMsgtypeFilter)) :*: (S1 ('MetaSel ('Just "botConfigReplyToMediaMessageTemplate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BotConfigReplyToMedia_MessageTemplateEntry]) :*: S1 ('MetaSel ('Just "botConfigReplyToMediaHtmlMessageTemplate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [BotConfigReplyToMedia_MessageTemplateEntry]))))))
Show BotConfigReplyToMedia Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Methods

showsPrec :: Int -> BotConfigReplyToMedia -> ShowS

show :: BotConfigReplyToMedia -> String

showList :: [BotConfigReplyToMedia] -> ShowS

Eq BotConfigReplyToMedia Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia = D1 ('MetaData "BotConfigReplyToMedia" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia" 'PrefixI 'True) ((S1 ('MetaSel ('Just "botConfigReplyToMediaUsersFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe UsersFilter)) :*: S1 ('MetaSel ('Just "botConfigReplyToMediaRoomsFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RoomsFilter))) :*: (S1 ('MetaSel ('Just "botConfigReplyToMediaMsgtypeFilter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MediaMsgtypeFilter)) :*: (S1 ('MetaSel ('Just "botConfigReplyToMediaMessageTemplate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [BotConfigReplyToMedia_MessageTemplateEntry]) :*: S1 ('MetaSel ('Just "botConfigReplyToMediaHtmlMessageTemplate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [BotConfigReplyToMedia_MessageTemplateEntry]))))))

data BotConfigReplyToMedia_MessageTemplateEntry Source #

Either a plain string or a special entry for a dynamic value substitution

Instances

Instances details
FromJSON BotConfigReplyToMedia_MessageTemplateEntry Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

ToJSON BotConfigReplyToMedia_MessageTemplateEntry Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Generic BotConfigReplyToMedia_MessageTemplateEntry Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Associated Types

type Rep BotConfigReplyToMedia_MessageTemplateEntry 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_MessageTemplateEntry = D1 ('MetaData "BotConfigReplyToMedia_MessageTemplateEntry" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia_MessageTemplateEntry_PlainString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "BotConfigReplyToMedia_MessageTemplateEntry_DynamicSubstitution_Field" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BotConfigReplyToMedia_DynamicFieldName)) :+: C1 ('MetaCons "BotConfigReplyToMedia_MessageTemplateEntry_DynamicSubstitution_ExtractedValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BotConfigReplyToMedia_DynamicExtractedValueName))))
Show BotConfigReplyToMedia_MessageTemplateEntry Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Eq BotConfigReplyToMedia_MessageTemplateEntry Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_MessageTemplateEntry Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_MessageTemplateEntry = D1 ('MetaData "BotConfigReplyToMedia_MessageTemplateEntry" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia_MessageTemplateEntry_PlainString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "BotConfigReplyToMedia_MessageTemplateEntry_DynamicSubstitution_Field" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BotConfigReplyToMedia_DynamicFieldName)) :+: C1 ('MetaCons "BotConfigReplyToMedia_MessageTemplateEntry_DynamicSubstitution_ExtractedValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BotConfigReplyToMedia_DynamicExtractedValueName))))

data BotConfigReplyToMedia_DynamicFieldName Source #

Constructors

BotConfigReplyToMedia_DynamicFieldName_MsgType

msgtype — For example m.image

BotConfigReplyToMedia_DynamicFieldName_Body

body — Contains file name

BotConfigReplyToMedia_DynamicFieldName_Url

body — Contains file name

Instances

Instances details
FromJSON BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

ToJSON BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Bounded BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Enum BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Generic BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Associated Types

type Rep BotConfigReplyToMedia_DynamicFieldName 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_DynamicFieldName = D1 ('MetaData "BotConfigReplyToMedia_DynamicFieldName" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia_DynamicFieldName_MsgType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BotConfigReplyToMedia_DynamicFieldName_Body" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BotConfigReplyToMedia_DynamicFieldName_Url" 'PrefixI 'False) (U1 :: Type -> Type)))
Show BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Eq BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_DynamicFieldName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_DynamicFieldName = D1 ('MetaData "BotConfigReplyToMedia_DynamicFieldName" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia_DynamicFieldName_MsgType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BotConfigReplyToMedia_DynamicFieldName_Body" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BotConfigReplyToMedia_DynamicFieldName_Url" 'PrefixI 'False) (U1 :: Type -> Type)))

data BotConfigReplyToMedia_DynamicExtractedValueName Source #

Constructors

BotConfigReplyToMedia_DynamicExtractedValueName_MediaId

media_id — Contains media file identifier, can be used to form a direct HTTP link

Instances

Instances details
FromJSON BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

ToJSON BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Bounded BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Enum BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Generic BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Associated Types

type Rep BotConfigReplyToMedia_DynamicExtractedValueName 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_DynamicExtractedValueName = D1 ('MetaData "BotConfigReplyToMedia_DynamicExtractedValueName" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia_DynamicExtractedValueName_MediaId" 'PrefixI 'False) (U1 :: Type -> Type))
Show BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

Eq BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_DynamicExtractedValueName Source # 
Instance details

Defined in MatrixBot.Bot.BotConfig

type Rep BotConfigReplyToMedia_DynamicExtractedValueName = D1 ('MetaData "BotConfigReplyToMedia_DynamicExtractedValueName" "MatrixBot.Bot.BotConfig" "matrix-bot-0.2.0-9uSIHSa7xxj9RTOQ8eXB9Z" 'False) (C1 ('MetaCons "BotConfigReplyToMedia_DynamicExtractedValueName_MediaId" 'PrefixI 'False) (U1 :: Type -> Type))