Telegram сообщения от скриптов

Материал из rrv-wiki
Перейти к навигации Перейти к поиску

Linux

Для отправки сообщений используем скрипты вида:

#!/bin/bash

#Скрипт отправляет пользователю или чату сообщение которое передается в качестве параметра этому скрипту

# id пользователя (тут случайный не правильный id)
USERID="5700000000"
# token для доступа к HTTP API получаем при создании бота через BotFather (тут случайный не правильный ключ):
KEY="1877000000:AAEfG0000000000000000aaaaaaaaaaaR2VtA" 

TIMEOUT="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
# DATE_EXEC="$(date "+%d.%b.%Y %H:%M")"

TEXT=$@

REQUEST='{"chat_id":"'${USERID}'","disable_web_page_preview":"1","text":"'${TEXT}'"}'
/usr/bin/curl --silent -i -H "Content-Type: application/json" -X POST -d "${REQUEST}" ${URL} >/dev/null

Windows

Тут приведен прием как запустить скрипт PowerShell из скрипта cmd без дополнительных сооружений

Для этого потребуется скрипт вида:

;@echo off

;Findstr -rbv ; %0 | powershell -c -  
;goto:sCode

Тут скрипт на PowerShell

;:sCode
;:eof


А это уже готовый минимальный скрипт для отправки сообщения телеграмм боту

;@echo off 

;rem Переключаем кодировку в UTF-8
;chcp 65001
 
;Findstr -rbv ; %0 | powershell -c -  
;goto:sCode

; Собственно отправка сообщения
$key = "1877000000:AAEfG0000000000000000aaaaaaaaaaaR2VtA"
$userid = "5700000000"
$text = "Тут пишем отправляемый текст"
$sendText = "https://api.telegram.org/bot$key/sendMessage"
Invoke-WebRequest -Uri $sendText -Body @{chat_id=$userid; text=$text} | ConvertFrom-Json

;:sCode
;:eof