private/ConvertTo-TLInputPeer.ps1
function ConvertTo-TLInputPeer { [cmdletbinding()] Param( [parameter(ValueFromPipeline)] [object]$TLPeer ) Begin { Write-Verbose "[$(Get-Date)] [BEGIN] $($MyInvocation.MyCommand)" } Process { Switch -Wildcard ($TLPeer.GetType().Name) { 'TLUser*' { New-Object TeleSharp.TL.TLInputPeerUser -Property @{ UserId = $TLPeer.Id; AccessHash = $TLPeer.AccessHash } } 'TLChat*' { New-Object TeleSharp.TL.TLInputPeerChat -Property @{ ChatId = $TLPeer.Id } } 'TLChannel*' { New-Object TeleSharp.TL.TLInputPeerChannel -Property @{ ChannelId = $TLPeer.Id; AccessHash = $TLPeer.AccessHash } } Default { Throw 'Invalid TLPeer object.'} } } End { Write-Verbose "[$(Get-Date)] [END ] $($MyInvocation.MyCommand)" } } |