///|
/// This object represents a parameter of the inline keyboard button used to automatically authorize a user.
pub struct LoginUrl {
url : String
forward_text : String?
bot_username : String?
request_write_access : Bool?
} derive(Show, Eq)
///|
/// Creates a new [LoginUrl].
pub fn LoginUrl::new(
url~ : String,
forward_text? : String,
bot_username? : String,
request_write_access? : Bool,
) -> LoginUrl {
{ url, forward_text, bot_username, request_write_access }
}
///|
pub impl ToJson for LoginUrl with to_json(self) {
let object : Map[String, Json] = { "url": self.url.to_json() }
if self.forward_text is Some(v) {
object["forward_text"] = v.to_json()
}
if self.bot_username is Some(v) {
object["bot_username"] = v.to_json()
}
if self.request_write_access is Some(v) {
object["request_write_access"] = v.to_json()
}
object.to_json()
}
///|
pub impl @json.FromJson for LoginUrl with from_json(json, path) {
guard json is Object(object) else {
raise @json.JsonDecodeError((path, "Expected object for LoginUrl"))
}
let url : String = @json.from_json(object["url"], path~)
let forward_text : String? = if object.get("forward_text") is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
let bot_username : String? = if object.get("bot_username") is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
let request_write_access : Bool? = if object.get("request_write_access")
is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
{ url, forward_text, bot_username, request_write_access }
}
///|
/// This object represents an inline button that switches the current user to inline mode in a chosen chat, with an optional default inline query.
pub struct SwitchInlineQueryChosenChat {
query : String?
allow_user_chats : Bool?
allow_bot_chats : Bool?
allow_group_chats : Bool?
allow_channel_chats : Bool?
} derive(Show, Eq)
///|
/// Creates a new [SwitchInlineQueryChosenChat].
pub fn SwitchInlineQueryChosenChat::new(
query? : String,
allow_user_chats? : Bool,
allow_bot_chats? : Bool,
allow_group_chats? : Bool,
allow_channel_chats? : Bool,
) -> SwitchInlineQueryChosenChat {
{
query,
allow_user_chats,
allow_bot_chats,
allow_group_chats,
allow_channel_chats,
}
}
///|
pub impl ToJson for SwitchInlineQueryChosenChat with to_json(self) {
let object : Map[String, Json] = {}
if self.query is Some(v) {
object["query"] = v.to_json()
}
if self.allow_user_chats is Some(v) {
object["allow_user_chats"] = v.to_json()
}
if self.allow_bot_chats is Some(v) {
object["allow_bot_chats"] = v.to_json()
}
if self.allow_group_chats is Some(v) {
object["allow_group_chats"] = v.to_json()
}
if self.allow_channel_chats is Some(v) {
object["allow_channel_chats"] = v.to_json()
}
object.to_json()
}
///|
pub impl @json.FromJson for SwitchInlineQueryChosenChat with from_json(
json,
path,
) {
guard json is Object(object) else {
raise @json.JsonDecodeError(
(path, "Expected object for SwitchInlineQueryChosenChat"),
)
}
let query : String? = if object.get("query") is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
let allow_user_chats : Bool? = if object.get("allow_user_chats") is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
let allow_bot_chats : Bool? = if object.get("allow_bot_chats") is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
let allow_group_chats : Bool? = if object.get("allow_group_chats") is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
let allow_channel_chats : Bool? = if object.get("allow_channel_chats")
is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
{
query,
allow_user_chats,
allow_bot_chats,
allow_group_chats,
allow_channel_chats,
}
}
///|
/// A placeholder, currently holds no information. Use BotFather to set up your game.
pub struct CallbackGame {} derive(Show, Eq)
///|
/// Creates a new [CallbackGame].
pub fn CallbackGame::new() -> CallbackGame {
CallbackGame::{ }
}
///|
pub impl ToJson for CallbackGame with to_json(_self) {
let object : Map[String, Json] = {}
object.to_json()
}
///|
pub impl @json.FromJson for CallbackGame with from_json(json, path) {
guard json is Object(_) else {
raise @json.JsonDecodeError((path, "Expected object for CallbackGame"))
}
CallbackGame::{ }
}