public static async Task <bool> SetChatMenuButtonAsync(this BotClient api, [Optional] long?chatId, [Optional] MenuButton?menuButton, [Optional] CancellationToken cancellationToken)
        {
            if (api == null)
            {
                throw new ArgumentNullException(nameof(api));
            }
            var args = new SetChatMenuButtonArgs()
            {
                ChatId     = chatId,
                MenuButton = menuButton
            };

            return(await api.RPCA <bool>(MethodNames.SetChatMenuButton, args, cancellationToken).ConfigureAwait(false));
        }
        public static bool SetChatMenuButton(this BotClient api, [Optional] long?chatId, [Optional] MenuButton?menuButton)
        {
            if (api == null)
            {
                throw new ArgumentNullException(nameof(api));
            }
            var args = new SetChatMenuButtonArgs()
            {
                ChatId     = chatId,
                MenuButton = menuButton
            };

            return(api.RPC <bool>(MethodNames.SetChatMenuButton, args));
        }