Я пытаюсь в течение нескольких недель, но мне не удается создать настраиваемую кнопку клавиатуры в 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