haboli/src/Haboli/Euphoria/Command/Megaparsec.hs
2020-04-08 12:03:57 +00:00

15 lines
457 B
Haskell

module Haboli.Euphoria.Command.Megaparsec
( cmdMega
) where
import qualified Data.Text as T
import Text.Megaparsec
import Haboli.Euphoria.Api
import Haboli.Euphoria.Client
import Haboli.Euphoria.Command
cmdMega :: Parsec e' T.Text a -> (Message -> a -> Client e ()) -> Command e
cmdMega parser f msg = case parse parser "" $ msgContent msg of
Left _ -> pure False
Right a -> True <$ f msg a