From 31c3566895bb717f51e986697d3452e549451f73 Mon Sep 17 00:00:00 2001 From: Jacques Comeaux Date: Sat, 28 May 2022 10:40:52 -0500 Subject: Handle requests --- src/Data/Message.hs | 9 ++++++--- src/Tomato/.Post.hs.swp | Bin 12288 -> 0 bytes src/Tomato/Validate.hs | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) delete mode 100644 src/Tomato/.Post.hs.swp (limited to 'src') diff --git a/src/Data/Message.hs b/src/Data/Message.hs index dfbc20b..c218cdc 100644 --- a/src/Data/Message.hs +++ b/src/Data/Message.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE DeriveGeneric #-} module Data.Message ( InMessage (..) , GMIUrl (..) @@ -21,15 +22,17 @@ import qualified Text.URI as URI data InMessage = InMessage { hasAttach :: !Bool - , groupId :: !Word + , groupId :: !Text , isUser :: !Bool , text :: !Text - } deriving Show + } deriving (Show, Generic) + +instance NFData InMessage instance Ae.FromJSON InMessage where parseJSON = Ae.withObject "InMessage" $ \o -> InMessage <$> (o .: "attachments" >>= Ae.withArray "attachments" (pure . not . null)) - <*> o .: "group-id" + <*> o .: "group_id" <*> ((==) ("user" :: Text) <$> o .: "sender_type") <*> o .: "text" diff --git a/src/Tomato/.Post.hs.swp b/src/Tomato/.Post.hs.swp deleted file mode 100644 index f823f90..0000000 Binary files a/src/Tomato/.Post.hs.swp and /dev/null differ diff --git a/src/Tomato/Validate.hs b/src/Tomato/Validate.hs index a3dd328..0afc4b5 100644 --- a/src/Tomato/Validate.hs +++ b/src/Tomato/Validate.hs @@ -10,7 +10,7 @@ import Data.Message (InMessage (..)) isTomato :: InMessage -> Bool isTomato m = not (hasAttach m) && - groupId m == 87220147 && + groupId m == "87220147" && isUser m && text m == "tomato" -- cgit v1.2.3