module TD.Query.GetThemedChatEmojiStatuses
  (GetThemedChatEmojiStatuses(..)
  ) where

import qualified Data.Aeson as A
import qualified Data.Aeson.Types as AT
import qualified TD.Lib.Internal as I

-- | Returns up to 8 emoji statuses, which must be shown in the emoji status list for chats. Returns 'TD.Data.EmojiStatuses.EmojiStatuses'
data GetThemedChatEmojiStatuses
  = GetThemedChatEmojiStatuses
  deriving (GetThemedChatEmojiStatuses -> GetThemedChatEmojiStatuses -> Bool
(GetThemedChatEmojiStatuses -> GetThemedChatEmojiStatuses -> Bool)
-> (GetThemedChatEmojiStatuses
    -> GetThemedChatEmojiStatuses -> Bool)
-> Eq GetThemedChatEmojiStatuses
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GetThemedChatEmojiStatuses -> GetThemedChatEmojiStatuses -> Bool
== :: GetThemedChatEmojiStatuses -> GetThemedChatEmojiStatuses -> Bool
$c/= :: GetThemedChatEmojiStatuses -> GetThemedChatEmojiStatuses -> Bool
/= :: GetThemedChatEmojiStatuses -> GetThemedChatEmojiStatuses -> Bool
Eq, Int -> GetThemedChatEmojiStatuses -> ShowS
[GetThemedChatEmojiStatuses] -> ShowS
GetThemedChatEmojiStatuses -> String
(Int -> GetThemedChatEmojiStatuses -> ShowS)
-> (GetThemedChatEmojiStatuses -> String)
-> ([GetThemedChatEmojiStatuses] -> ShowS)
-> Show GetThemedChatEmojiStatuses
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GetThemedChatEmojiStatuses -> ShowS
showsPrec :: Int -> GetThemedChatEmojiStatuses -> ShowS
$cshow :: GetThemedChatEmojiStatuses -> String
show :: GetThemedChatEmojiStatuses -> String
$cshowList :: [GetThemedChatEmojiStatuses] -> ShowS
showList :: [GetThemedChatEmojiStatuses] -> ShowS
Show)

instance I.ShortShow GetThemedChatEmojiStatuses where
  shortShow :: GetThemedChatEmojiStatuses -> String
shortShow
    GetThemedChatEmojiStatuses
GetThemedChatEmojiStatuses
        = String
"GetThemedChatEmojiStatuses"

instance AT.ToJSON GetThemedChatEmojiStatuses where
  toJSON :: GetThemedChatEmojiStatuses -> Value
toJSON
    GetThemedChatEmojiStatuses
GetThemedChatEmojiStatuses
        = [Pair] -> Value
A.object
          [ Key
"@type" Key -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
A..= Text -> Value
AT.String Text
"getThemedChatEmojiStatuses"
          ]