module Network.Anticiv.Modules.Barkeeper (initBarkeeper, listBarkeeper) where
import Control.Monad
import Data.Char
import Data.Chatty.Atoms
import Data.Chatty.Hetero
import Network.Anticiv.Convenience
import Network.Anticiv.Masks
import Network.Anticiv.Monad
import Text.Printf
initBarkeeper :: Packciv (Packciv [String])
initBarkeeper = do
regPriorityChanmsg msg
return listBarkeeper
listBarkeeper :: Packciv [String]
listBarkeeper = return ["beer","vodka","vplus"]
msg :: Atom Handler -> UserA -> String -> Anticiv Bool
msg _ u s = do
pref <- bprefix
s & pref :-: LocalT u "beer" :-: ChannelUser #-> (actionfl "Beer" . userNick <=< getAtom)
.|| pref :-: LocalT u "vodka" :-: ChannelUser #-> (actionfl "Vodka" . userNick <=< getAtom)
.|| pref :-: LocalT u "vplus" :-: ChannelUser #->> addressfl u "VPlus"