{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE BlockArguments #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE MultiParamTypeClasses #-} module Telegram.Bot.API.Types ( RequiredQueryParam , module Telegram.Bot.API.Types.Animation , module Telegram.Bot.API.Types.Audio , module Telegram.Bot.API.Types.BotCommand , module Telegram.Bot.API.Types.BotCommandScope , module Telegram.Bot.API.Types.BotDescription , module Telegram.Bot.API.Types.BotName , module Telegram.Bot.API.Types.BotShortDescription , module Telegram.Bot.API.Types.CallbackGame , module Telegram.Bot.API.Types.CallbackQuery , module Telegram.Bot.API.Types.Chat , module Telegram.Bot.API.Types.ChatAdministratorRights , module Telegram.Bot.API.Types.ChatInviteLink , module Telegram.Bot.API.Types.ChatJoinRequest , module Telegram.Bot.API.Types.ChatLocation , module Telegram.Bot.API.Types.ChatMember , module Telegram.Bot.API.Types.ChatMemberUpdated , module Telegram.Bot.API.Types.ChatPermissions , module Telegram.Bot.API.Types.ChatPhoto , module Telegram.Bot.API.Types.ChatShared , module Telegram.Bot.API.Types.Common , module Telegram.Bot.API.Types.Contact , module Telegram.Bot.API.Types.CopyMessageId , module Telegram.Bot.API.Types.Dice , module Telegram.Bot.API.Types.Document , module Telegram.Bot.API.Types.EncryptedCredentials , module Telegram.Bot.API.Types.EncryptedPassportElement , module Telegram.Bot.API.Types.File , module Telegram.Bot.API.Types.ForceReply , module Telegram.Bot.API.Types.ForumTopic , module Telegram.Bot.API.Types.ForumTopicEdited , module Telegram.Bot.API.Types.ForumTopicClosed , module Telegram.Bot.API.Types.ForumTopicCreated , module Telegram.Bot.API.Types.ForumTopicReopened , module Telegram.Bot.API.Types.Game , module Telegram.Bot.API.Types.GameHighScore , module Telegram.Bot.API.Types.GeneralForumTopicHidden , module Telegram.Bot.API.Types.GeneralForumTopicUnhidden , module Telegram.Bot.API.Types.InlineKeyboardButton , module Telegram.Bot.API.Types.InlineKeyboardMarkup , module Telegram.Bot.API.Types.InputMedia , module Telegram.Bot.API.Types.Invoice , module Telegram.Bot.API.Types.KeyboardButton , module Telegram.Bot.API.Types.KeyboardButtonRequestChat , module Telegram.Bot.API.Types.KeyboardButtonRequestUser , module Telegram.Bot.API.Types.LabeledPrice , module Telegram.Bot.API.Types.Location , module Telegram.Bot.API.Types.LoginUrl , module Telegram.Bot.API.Types.MaskPosition , module Telegram.Bot.API.Types.MenuButton , module Telegram.Bot.API.Types.Message , module Telegram.Bot.API.Types.MessageAutoDeleteTimerChanged , module Telegram.Bot.API.Types.MessageEntity , module Telegram.Bot.API.Types.OrderInfo , module Telegram.Bot.API.Types.PassportData , module Telegram.Bot.API.Types.PassportElementError , module Telegram.Bot.API.Types.PassportFile , module Telegram.Bot.API.Types.PhotoSize , module Telegram.Bot.API.Types.Poll , module Telegram.Bot.API.Types.PollAnswer , module Telegram.Bot.API.Types.PollOption , module Telegram.Bot.API.Types.PollType , module Telegram.Bot.API.Types.PreCheckoutQuery , module Telegram.Bot.API.Types.ProximityAlertTriggered , module Telegram.Bot.API.Types.ReplyKeyboardMarkup , module Telegram.Bot.API.Types.ReplyKeyboardRemove , module Telegram.Bot.API.Types.ResponseParameters , module Telegram.Bot.API.Types.ShippingAddress , module Telegram.Bot.API.Types.ShippingOption , module Telegram.Bot.API.Types.ShippingQuery , module Telegram.Bot.API.Types.Sticker , module Telegram.Bot.API.Types.SuccessfulPayment , module Telegram.Bot.API.Types.User , module Telegram.Bot.API.Types.UserProfilePhotos , module Telegram.Bot.API.Types.UserShared , module Telegram.Bot.API.Types.Venue , module Telegram.Bot.API.Types.Video , module Telegram.Bot.API.Types.VideoChatEnded , module Telegram.Bot.API.Types.VideoChatScheduled , module Telegram.Bot.API.Types.VideoChatStarted , module Telegram.Bot.API.Types.VideoNote , module Telegram.Bot.API.Types.Voice , module Telegram.Bot.API.Types.WebAppData , module Telegram.Bot.API.Types.WriteAccessAllowed ) where import Servant.API import Telegram.Bot.API.Types.Animation import Telegram.Bot.API.Types.Audio import Telegram.Bot.API.Types.BotCommand import Telegram.Bot.API.Types.BotCommandScope import Telegram.Bot.API.Types.BotDescription import Telegram.Bot.API.Types.BotName import Telegram.Bot.API.Types.BotShortDescription import Telegram.Bot.API.Types.CallbackGame import Telegram.Bot.API.Types.CallbackQuery import Telegram.Bot.API.Types.Chat import Telegram.Bot.API.Types.ChatAdministratorRights import Telegram.Bot.API.Types.ChatInviteLink import Telegram.Bot.API.Types.ChatJoinRequest import Telegram.Bot.API.Types.ChatLocation import Telegram.Bot.API.Types.ChatMember import Telegram.Bot.API.Types.ChatMemberUpdated import Telegram.Bot.API.Types.ChatPermissions import Telegram.Bot.API.Types.ChatPhoto import Telegram.Bot.API.Types.ChatShared import Telegram.Bot.API.Types.Common import Telegram.Bot.API.Types.Contact import Telegram.Bot.API.Types.CopyMessageId import Telegram.Bot.API.Types.Dice import Telegram.Bot.API.Types.Document import Telegram.Bot.API.Types.EncryptedCredentials import Telegram.Bot.API.Types.EncryptedPassportElement import Telegram.Bot.API.Types.File import Telegram.Bot.API.Types.ForceReply import Telegram.Bot.API.Types.ForumTopic import Telegram.Bot.API.Types.ForumTopicEdited import Telegram.Bot.API.Types.ForumTopicClosed import Telegram.Bot.API.Types.ForumTopicCreated import Telegram.Bot.API.Types.ForumTopicReopened import Telegram.Bot.API.Types.Game import Telegram.Bot.API.Types.GameHighScore import Telegram.Bot.API.Types.GeneralForumTopicHidden import Telegram.Bot.API.Types.GeneralForumTopicUnhidden import Telegram.Bot.API.Types.InlineKeyboardButton import Telegram.Bot.API.Types.InlineKeyboardMarkup import Telegram.Bot.API.Types.InputMedia import Telegram.Bot.API.Types.Invoice import Telegram.Bot.API.Types.KeyboardButton import Telegram.Bot.API.Types.KeyboardButtonRequestChat import Telegram.Bot.API.Types.KeyboardButtonRequestUser import Telegram.Bot.API.Types.LabeledPrice import Telegram.Bot.API.Types.Location import Telegram.Bot.API.Types.LoginUrl import Telegram.Bot.API.Types.MaskPosition import Telegram.Bot.API.Types.MenuButton import Telegram.Bot.API.Types.Message import Telegram.Bot.API.Types.MessageAutoDeleteTimerChanged import Telegram.Bot.API.Types.MessageEntity import Telegram.Bot.API.Types.OrderInfo import Telegram.Bot.API.Types.PassportData import Telegram.Bot.API.Types.PassportElementError import Telegram.Bot.API.Types.PassportFile import Telegram.Bot.API.Types.PhotoSize import Telegram.Bot.API.Types.Poll import Telegram.Bot.API.Types.PollAnswer import Telegram.Bot.API.Types.PollOption import Telegram.Bot.API.Types.PollType import Telegram.Bot.API.Types.PreCheckoutQuery import Telegram.Bot.API.Types.ProximityAlertTriggered import Telegram.Bot.API.Types.ReplyKeyboardMarkup import Telegram.Bot.API.Types.ReplyKeyboardRemove import Telegram.Bot.API.Types.ResponseParameters import Telegram.Bot.API.Types.ShippingAddress import Telegram.Bot.API.Types.ShippingOption import Telegram.Bot.API.Types.ShippingQuery import Telegram.Bot.API.Types.Sticker import Telegram.Bot.API.Types.SuccessfulPayment import Telegram.Bot.API.Types.User import Telegram.Bot.API.Types.UserProfilePhotos import Telegram.Bot.API.Types.UserShared import Telegram.Bot.API.Types.Venue import Telegram.Bot.API.Types.Video import Telegram.Bot.API.Types.VideoChatEnded import Telegram.Bot.API.Types.VideoChatScheduled import Telegram.Bot.API.Types.VideoChatStarted import Telegram.Bot.API.Types.VideoNote import Telegram.Bot.API.Types.Voice import Telegram.Bot.API.Types.WebAppData import Telegram.Bot.API.Types.WriteAccessAllowed type RequiredQueryParam = QueryParam' '[Required , Strict] -- * Available types -- * Stickers -- | The following methods and objects allow your bot to handle stickers and sticker sets. -- * Payments -- * Telegram Passport -- | Telegram Passport is a unified authorization method for services that require personal identification. Users can upload their documents once, then instantly share their data with services that require real-world ID (finance, ICOs, etc.). Please see the manual for details. -- * Games -- | Your bot can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats. Create games via @BotFather using the /newgame command. Please note that this kind of power requires responsibility: you will need to accept the terms for each game that your bots will be offering. -- -- Games are a new type of content on Telegram, represented by the Game and InlineQueryResultGame objects. -- Once you've created a game via BotFather, you can send games to chats as regular messages using the sendGame method, or use inline mode with InlineQueryResultGame. -- If you send the game message without any buttons, it will automatically have a 'Play GameName' button. When this button is pressed, your bot gets a CallbackQuery with the game_short_name of the requested game. You provide the correct URL for this particular user and the app opens the game in the in-app browser. -- You can manually add multiple buttons to your game message. Please note that the first button in the first row must always launch the game, using the field callback_game in InlineKeyboardButton. You can add extra buttons according to taste: e.g., for a description of the rules, or to open the game's official community. -- To make your game more attractive, you can upload a GIF animation that demostrates the game to the users via BotFather (see Lumberjack for example). -- A game message will also display high scores for the current chat. Use setGameScore to post high scores to the chat with the game, add the edit_message parameter to automatically update the message with the current scoreboard. -- Use getGameHighScores to get data for in-game high score tables. -- You can also add an extra sharing button for users to share their best score to different chats. -- For examples of what can be done using this new stuff, check the @gamebot and @gamee bots.