Невозможно создать кнопки клавиатуры в Telegram BOT API с помощью PowerShell - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь в течение нескольких недель, но мне не удается создать настраиваемую кнопку клавиатуры в BOT Telegram при отправке сообщения с помощью Powershell.

Telegram API не возвращает сообщение об ошибке и сообщение доставлено. Но клавиатура или кнопки не подходят.

Я перечитывал документы API снова и снова, пытаясь найти похожие примеры на других языках программирования, которые я могу читать. Но не повезло.

Может ли кто-нибудь помочь?

Я пытаюсь создать автоматический канал связи с моим ботом, чтобы спрашивать, нужно ли ему реагировать на полученные нами оповещения ...

Заранее спасибо ...

С уважением, Рон

function Send-TelegramMessage {
param(
[parameter(Mandatory=$true)][hashtable]$Payload,
[parameter(Mandatory=$true)][string]$BotKey
)
# URL for Telegram to send messages
$link = "https://api.telegram.org/bot$BotKey/sendMessage"
#Write-Verbose $link

# Create URL information to send.
$splat = @{
    uri = $link
    body = ($Payload | ConvertTo-Json -Compress -Depth 10)
    ContentType = "application/json;charset=utf-8"
    Method = "Post"
} # end of $splat

# Invoke the URL
$Quiet = Invoke-RestMethod @splat

# End
}

$UserID = "xxxxxxxxx"
$botkey = "xxxxxxxxx:XXXXXXXXXXXXXXXXXXXXXXXXXX"

$KeyboardButtons = @()  
$KeyboardButton = [ordered]@{
    text = "Button1 Text"
    # request_contact = $False
    # request_location = $false
    }
    $Keyboardbuttons += $KeyboardButton
$KeyboardButton = [ordered]@{
    text = "Button2 Text"
    # request_contact = $False
    # request_location = $false
    }
    $Keyboardbuttons += $KeyboardButton

$ReplyKeyBoardMarkup = New-Object –TypeName PSObject -Property @{
  keyboard = $KeyboardButtons
  one_time_keyboard = $true
  }

$ReplyMarkup = New-Object –TypeName PSObject -Property @{
    replykeyboardmarkup = $ReplyKeyboardMarkup
    }

$payload = @{
            chat_id = $UserID
            parse_mode = "Markdown"
            text = "*Make* your choice"
            reply_markup = $ReplyMarkup
        }

Send-TelegramMessage -Payload $payload -BotKey $botkey
...