// This file is auto generated by [`cg`] from [`schema`].
//
// **DO NOT EDIT THIS FILE**,
//
// Edit `cg` or `schema` instead.
//
// [cg]: https://github.com/teloxide/cg
// [`schema`]: https://github.com/WaffleLapkin/tg-methods-schema
use serde::Serialize;

use crate::types::{ChatAdministratorRights, True};

impl_payload! {
    /// Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels. These rights will be suggested to users, but they are are free to modify the list before adding the bot.
    #[derive(Debug, PartialEq, Eq, Hash, Default, Clone, Serialize)]
    pub SetMyDefaultAdministratorRights (SetMyDefaultAdministratorRightsSetters) => True {

        optional {
            /// A JSON-serialized object describing new default administrator rights. If not specified, the default administrator rights will be cleared.
            pub rights: ChatAdministratorRights,
            /// Pass _True_ to change the default administrator rights of the bot in channels. Otherwise, the default administrator rights of the bot for groups and supergroups will be changed.
            pub for_channels: bool,
        }
    }
}
