63 lines
No EOL
1.7 KiB
PowerShell
63 lines
No EOL
1.7 KiB
PowerShell
function Get-FromTelegram {
|
|
param (
|
|
$token = "687...:AAF...",
|
|
[switch]$last,
|
|
[switch]$date
|
|
)
|
|
$endpoint = "getUpdates"
|
|
$url = "https://api.telegram.org/bot$token/$endpoint"
|
|
$result = Invoke-RestMethod -Uri $url
|
|
if ($date) {
|
|
$Collections = New-Object System.Collections.Generic.List[System.Object]
|
|
foreach ($r in $($result.result)) {
|
|
$EpochTime = [DateTime]"1/1/1970"
|
|
$TimeZone = Get-TimeZone
|
|
$UTCTime = $EpochTime.AddSeconds($r.message.date)
|
|
$d = $UTCTime.AddMinutes($TimeZone.BaseUtcOffset.TotalMinutes)
|
|
#$d
|
|
$Collections.Add([PSCustomObject]@{
|
|
Message = $r.message.text;
|
|
Date = $d
|
|
})
|
|
}
|
|
$Collections
|
|
} else {
|
|
if ($last) {
|
|
$result.result.message.text[-1]
|
|
} else {
|
|
$result.result.message.text
|
|
}
|
|
}
|
|
}
|
|
|
|
function Send-ToTelegram {
|
|
param (
|
|
[Parameter(Mandatory = $True)]$Text,
|
|
$token = "687...:AAF...",
|
|
$chat = "125468108"
|
|
)
|
|
$endpoint = "sendMessage"
|
|
$url = "https://api.telegram.org/bot$token/$endpoint"
|
|
$Body = @{
|
|
chat_id = $Chat
|
|
text = $Text
|
|
}
|
|
Invoke-RestMethod -Uri $url -Body $Body
|
|
}
|
|
|
|
$LastDate = (Get-FromTelegram -date)[-1].Date
|
|
while ($true) {
|
|
$LastMessage = (Get-FromTelegram -date)[-1]
|
|
Start-Sleep 1
|
|
$LastDateTest = $LastMessage.Date
|
|
if (($LastMessage.Message -match "/Service") -and ($LastDate -ne $LastDateTest)) {
|
|
$ServiceName = $($LastMessage.Message -split " ")[-1]
|
|
$Result = $(Get-Service $ServiceName -ErrorAction Ignore).Status
|
|
if ($Result) {
|
|
Send-ToTelegram -Text $Result
|
|
} else {
|
|
Send-ToTelegram -Text "Service not found"
|
|
}
|
|
$LastDate = $LastDateTest
|
|
}
|
|
} |