Add Discord, RapidAPI and google api
This commit is contained in:
parent
a0a06880c9
commit
f8a9cb8cca
1 changed files with 304 additions and 84 deletions
388
README.md
388
README.md
|
|
@ -46,7 +46,6 @@
|
||||||
- [TrueNAS](#truenas)
|
- [TrueNAS](#truenas)
|
||||||
- [Veeam](#veeam)
|
- [Veeam](#veeam)
|
||||||
- [REST API](#rest-api)
|
- [REST API](#rest-api)
|
||||||
- [Telegram](#telegram)
|
|
||||||
- [Pode](#pode)
|
- [Pode](#pode)
|
||||||
- [Selenium](#selenium)
|
- [Selenium](#selenium)
|
||||||
- [IE](#ie)
|
- [IE](#ie)
|
||||||
|
|
@ -93,10 +92,14 @@
|
||||||
- [YandexGPT](#YandexGPT)
|
- [YandexGPT](#YandexGPT)
|
||||||
- [SuperAGI](#superagi)
|
- [SuperAGI](#superagi)
|
||||||
- [Replicate](#replicate)
|
- [Replicate](#replicate)
|
||||||
|
- [Google-API](#google-api)
|
||||||
|
- [RapidAPI](#rapidapi)
|
||||||
- [TMDB](#tmdb)
|
- [TMDB](#tmdb)
|
||||||
- [ivi](#ivi)
|
- [ivi](#ivi)
|
||||||
- [Kinopoisk](#kinopoisk)
|
- [Kinopoisk](#kinopoisk)
|
||||||
- [VideoCDN](#videocdn)
|
- [VideoCDN](#videocdn)
|
||||||
|
- [Telegram](#telegram)
|
||||||
|
- [Discord](#discord)
|
||||||
|
|
||||||
# Help
|
# Help
|
||||||
|
|
||||||
|
|
@ -250,7 +253,9 @@ ps | Sort-Object -Descending CPU | select -first 10 ProcessName, # сортир
|
||||||
@{Label="RunTime"; Expression={((Get-Date) - $_.StartTime) -replace "\.\d+$"}} # вычесть из текущего времени - время запуска, и удалить milisec
|
@{Label="RunTime"; Expression={((Get-Date) - $_.StartTime) -replace "\.\d+$"}} # вычесть из текущего времени - время запуска, и удалить milisec
|
||||||
```
|
```
|
||||||
### Select-String
|
### Select-String
|
||||||
`ipconfig /all | Select-String dns` поиск текста
|
`$(ipconfig | Select-String IPv4) -replace ".+: " | Where-Object {$_ -match "^172."}` узнать только IP \
|
||||||
|
`$Current_IP = Get-Content $RDCMan_RDG_PATH | Select-String $RDCMan_Display_Name -Context 0,1` получить две строки \
|
||||||
|
`$Current_IP = $Current_IP.Context.DisplayPostContext[0] -replace ".+<name>|<\/name>"` забрать только вторую строку и удалить тэги
|
||||||
|
|
||||||
### Format-Table/Format-List
|
### Format-Table/Format-List
|
||||||
`Get-Process | ft ProcessName, StartTime -Autosize` автоматическая группировка размера столбцов
|
`Get-Process | ft ProcessName, StartTime -Autosize` автоматическая группировка размера столбцов
|
||||||
|
|
@ -2686,88 +2691,6 @@ $vjob = $vjob.Content | ConvertFrom-Json
|
||||||
$vjob = Invoke-RestMethod "https://veeam-11:9419/api/v1/jobs" -Method GET -Headers $Header -SkipCertificateCheck
|
$vjob = Invoke-RestMethod "https://veeam-11:9419/api/v1/jobs" -Method GET -Headers $Header -SkipCertificateCheck
|
||||||
$vjob.data.virtualMachines.includes.inventoryObject
|
$vjob.data.virtualMachines.includes.inventoryObject
|
||||||
```
|
```
|
||||||
# Telegram
|
|
||||||
|
|
||||||
`@BotFather (https://t.me/BotFather) /newbot` \
|
|
||||||
`https://api.telegram.org/bot<token>/<endpoint>`
|
|
||||||
```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
|
|
||||||
}
|
|
||||||
#$result.result.message.chat.id[-1] # получить индивидуальный chat_id с ботом
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
`Get-FromTelegram` \
|
|
||||||
`Get-FromTelegram -last` \
|
|
||||||
`Get-FromTelegram -date`
|
|
||||||
|
|
||||||
https://core.telegram.org/bots/api#sendmessage
|
|
||||||
```PowerShell
|
|
||||||
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
|
|
||||||
}
|
|
||||||
```
|
|
||||||
`Send-ToTelegram -Text "Send test from powershell"`
|
|
||||||
```PowerShell
|
|
||||||
$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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
`/Service vpnagent` \
|
|
||||||
`/Service WinRM` \
|
|
||||||
`/Service test`
|
|
||||||
|
|
||||||
# Pode
|
# Pode
|
||||||
```PowerShell
|
```PowerShell
|
||||||
Start-PodeServer {
|
Start-PodeServer {
|
||||||
|
|
@ -6637,6 +6560,80 @@ while ($response.status -ne "succeeded") {
|
||||||
}
|
}
|
||||||
$response.output
|
$response.output
|
||||||
```
|
```
|
||||||
|
# Google-API
|
||||||
|
|
||||||
|
### Google-Translate
|
||||||
|
```PowerShell
|
||||||
|
$Key = "<TOKEN_API>" # получить токен: https://console.cloud.google.com/apis/credentials
|
||||||
|
$Text = "You can see in the right corner how long each translation request takes (this does not depend on the amount of text being transferred)."
|
||||||
|
$LanguageTarget = "RU"
|
||||||
|
$LanguageSource = "EN"
|
||||||
|
$url = "https://translation.googleapis.com/language/translate/v2?key=$key"
|
||||||
|
$Header = @{
|
||||||
|
"Content-Type" = "application/json"
|
||||||
|
}
|
||||||
|
$Body = @{
|
||||||
|
"q" = "$Text"
|
||||||
|
"target" = "$LanguageTarget"
|
||||||
|
"source" = "$LanguageSource"
|
||||||
|
} | ConvertTo-Json
|
||||||
|
$WebClient = New-Object System.Net.WebClient
|
||||||
|
foreach ($key in $Header.Keys) {
|
||||||
|
$WebClient.Headers.Add($key, $Header[$key])
|
||||||
|
}
|
||||||
|
$Response = $WebClient.UploadString($url, "POST", $Body) | ConvertFrom-Json
|
||||||
|
$Response.data.translations.translatedText
|
||||||
|
```
|
||||||
|
### Google-Search
|
||||||
|
```PowerShell
|
||||||
|
$Key = "<TOKEN_API>" # получить токен: https://developers.google.com/custom-search/v1/overview?hl=ru (пользовательский поиск JSON API предоставляет 100 поисковых запросов в день бесплатно)
|
||||||
|
$cx = "35c78340f49eb474a" # создать поисковую систему https://programmablesearchengine.google.com/controlpanel/all
|
||||||
|
$Query = "как создать бота discord"
|
||||||
|
$Lang = "ru"
|
||||||
|
$Num = 10
|
||||||
|
$Start = 0
|
||||||
|
$response = Invoke-RestMethod "https://www.googleapis.com/customsearch/v1?q=$Query&key=$Key&cx=$cx&lr=lang_$Lang&num=$Num&$start=$Start"
|
||||||
|
$response.items | Select-Object title,snippet,displayLink,link | Format-List
|
||||||
|
```
|
||||||
|
# RapidAPI
|
||||||
|
|
||||||
|
https://rapidapi.com/ru/neoscrap-net/api/google-search72
|
||||||
|
```PowerShell
|
||||||
|
$Key = "<TOKEN_API>"
|
||||||
|
$headers=@{}
|
||||||
|
$headers.Add("X-RapidAPI-Key", "$Key")
|
||||||
|
$headers.Add("X-RapidAPI-Host", "google-search72.p.rapidapi.com")
|
||||||
|
$query = "как создать бота discord"
|
||||||
|
$response = Invoke-RestMethod "https://google-search72.p.rapidapi.com/search?q=$query%20gitgub&gl=us&lr=lang_ru&num=20&start=0" -Method GET -Headers $headers
|
||||||
|
$response.items | Select-Object title,snippet,displayLink,link | Format-List
|
||||||
|
```
|
||||||
|
### IMDb
|
||||||
|
|
||||||
|
https://rapidapi.com/apidojo/api/imdb8
|
||||||
|
```PowerShell
|
||||||
|
$key = "<TOKEN_API>" # 500 запросов в месяц
|
||||||
|
$query="Break"
|
||||||
|
$headers=@{}
|
||||||
|
$headers.Add("X-RapidAPI-Key", "$key")
|
||||||
|
$headers.Add("X-RapidAPI-Host", "imdb8.p.rapidapi.com")
|
||||||
|
$response = Invoke-RestMethod "https://imdb8.p.rapidapi.com/title/find?q=$query" -Method GET -Headers $headers
|
||||||
|
$response.results | select title,titletype,year,runningTimeInMinutes,id | Format-Table
|
||||||
|
"https://www.imdb.com$($response.results.id[0])"
|
||||||
|
$response.results.principals # актеры
|
||||||
|
$response.results.image
|
||||||
|
```
|
||||||
|
### MoviesDatabase
|
||||||
|
|
||||||
|
https://rapidapi.com/SAdrian/api/moviesdatabase
|
||||||
|
|
||||||
|
$key = "<TOKEN_API>"
|
||||||
|
$imdb_id = "tt0455275"
|
||||||
|
$headers=@{}
|
||||||
|
$headers.Add("X-RapidAPI-Key", "$key")
|
||||||
|
$headers.Add("X-RapidAPI-Host", "moviesdatabase.p.rapidapi.com")
|
||||||
|
$response = Invoke-RestMethod "https://moviesdatabase.p.rapidapi.com/titles/$imdb_id" -Method GET -Headers $headers
|
||||||
|
$response.results
|
||||||
|
|
||||||
# TMDB
|
# TMDB
|
||||||
|
|
||||||
https://developer.themoviedb.org/reference/intro/getting-started
|
https://developer.themoviedb.org/reference/intro/getting-started
|
||||||
|
|
@ -6782,3 +6779,226 @@ ep="tv-series"
|
||||||
curl -s "https://videocdn.tv/api/$ep?api_token=$token&field=kinopoisk_id&query=$kp_id" | jq ".data[].episodes | length" # количество серий
|
curl -s "https://videocdn.tv/api/$ep?api_token=$token&field=kinopoisk_id&query=$kp_id" | jq ".data[].episodes | length" # количество серий
|
||||||
curl -s "https://videocdn.tv/api/$ep?api_token=$token&field=kinopoisk_id&query=$kp_id" | jq ".data[].episodes[] | select(.season_num == 2) | {episode: .ru_title, voice: .media[].translation.title}" # отфильтровать параметры вывода
|
curl -s "https://videocdn.tv/api/$ep?api_token=$token&field=kinopoisk_id&query=$kp_id" | jq ".data[].episodes[] | select(.season_num == 2) | {episode: .ru_title, voice: .media[].translation.title}" # отфильтровать параметры вывода
|
||||||
```
|
```
|
||||||
|
# Telegram
|
||||||
|
|
||||||
|
@BotFather (https://t.me/BotFather) /newbot
|
||||||
|
|
||||||
|
https://api.telegram.org/bot<token>/<endpoint>
|
||||||
|
|
||||||
|
https://core.telegram.org/bots/api#getupdates
|
||||||
|
```PowerShell
|
||||||
|
function Get-FromTelegram {
|
||||||
|
param (
|
||||||
|
$Token = "687...:AAF...",
|
||||||
|
[switch]$Date,
|
||||||
|
[switch]$Last,
|
||||||
|
[switch]$ChatID
|
||||||
|
)
|
||||||
|
$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)
|
||||||
|
$Collections.Add([PSCustomObject]@{
|
||||||
|
Message = $r.message.text;
|
||||||
|
Date = $d
|
||||||
|
})
|
||||||
|
}
|
||||||
|
$Collections
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($Last) {
|
||||||
|
$result.result.message.text[-1]
|
||||||
|
}
|
||||||
|
elseif ($ChatID) {
|
||||||
|
$Collections = New-Object System.Collections.Generic.List[System.Object]
|
||||||
|
foreach ($r in $($result.result)) {
|
||||||
|
$Collections.Add([PSCustomObject]@{
|
||||||
|
Message = $r.message.text;
|
||||||
|
UserName = $r.message.chat.username;
|
||||||
|
ChatID = $r.message.chat.id;
|
||||||
|
ChatType = $r.message.chat.type
|
||||||
|
})
|
||||||
|
}
|
||||||
|
$Collections
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$result.result.message.text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
`Get-FromTelegram` \
|
||||||
|
`Get-FromTelegram -Last` \
|
||||||
|
`Get-FromTelegram -Date` \
|
||||||
|
`Get-FromTelegram -ChatID`
|
||||||
|
|
||||||
|
https://core.telegram.org/bots/api#sendmessage
|
||||||
|
```PowerShell
|
||||||
|
function Send-ToTelegram {
|
||||||
|
param (
|
||||||
|
[Parameter(Mandatory = $True)]$Text,
|
||||||
|
$Token = "687...:AAF...",
|
||||||
|
$Chat = "125468108",
|
||||||
|
$Keyboard
|
||||||
|
)
|
||||||
|
$endpoint = "sendMessage"
|
||||||
|
$url = "https://api.telegram.org/bot$Token/$endpoint"
|
||||||
|
$Body = @{
|
||||||
|
chat_id = $Chat
|
||||||
|
text = $Text
|
||||||
|
}
|
||||||
|
if ($keyboard -ne $null) {
|
||||||
|
$Body += @{reply_markup = $keyboard}
|
||||||
|
}
|
||||||
|
Invoke-RestMethod -Uri $url -Body $Body
|
||||||
|
}
|
||||||
|
```
|
||||||
|
`Send-ToTelegram -Text "Send test from powershell"`
|
||||||
|
```PowerShell
|
||||||
|
$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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
`/Service vpnagent` \
|
||||||
|
`/Service WinRM` \
|
||||||
|
`/Service test`
|
||||||
|
|
||||||
|
### Button
|
||||||
|
```PowerShell
|
||||||
|
$keyboard = '{
|
||||||
|
"inline_keyboard":[[
|
||||||
|
{"text":"Uptime","callback_data":"/Uptime"},
|
||||||
|
{"text":"Test","callback_data":"/Test"}
|
||||||
|
]]
|
||||||
|
}'
|
||||||
|
Send-ToTelegram -Text "Test buttons" -Keyboard $keyboard
|
||||||
|
$request = (Invoke-RestMethod -Uri "https://api.telegram.org/bot$Token/getUpdates").result.callback_query
|
||||||
|
$request.data # прочитать callback_data нажатой кнопки
|
||||||
|
$request.message.date
|
||||||
|
```
|
||||||
|
# Discord
|
||||||
|
|
||||||
|
https://discord.com/developers/applications
|
||||||
|
|
||||||
|
Создаем Applications (General Information). В Bot привязываем к Application и копируем токен авторизации. В OAuth2 - URL Generator выбираем bot и права Administrator и копируем созданный URL для добавления на канал. Переходим по url и добавляем бота на сервер. Получаем ID канала на сервере (текстовые каналы, правой кнопкой мыши копируем ссылку и забираем последний id в url).
|
||||||
|
|
||||||
|
### Send to Discord
|
||||||
|
```Bash
|
||||||
|
DISCORD_TOKEN="MTE5NzE1NjM0NTM3NjQxMTcyOQ.XXXXXX.EzBF6RA9Kx_MSuhLW5elH1U-XXXXXXXXXXXXXX"
|
||||||
|
DISCORD_CHANNEL_ID="119403124XXXXXXXXXX"
|
||||||
|
TEXT="test from bash"
|
||||||
|
URL="https://discordapp.com/api/channels/$DISCORD_CHANNEL_ID/messages"
|
||||||
|
curl -s -X POST $URL \
|
||||||
|
-H "Authorization: Bot $DISCORD_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{\"content\": \"$TEXT\"}"
|
||||||
|
```
|
||||||
|
```PowerShell
|
||||||
|
$DISCORD_TOKEN = "MTE5NzE1NjM0NTM3NjQxMTcyOQ.XXXXXX.EzBF6RA9Kx_MSuhLW5elH1U-XXXXXXXXXXXXXX"
|
||||||
|
$DISCORD_CHANNEL_ID = "119403124XXXXXXXXXX"
|
||||||
|
$TEXT = "test from PowerShell"
|
||||||
|
$URL = "https://discordapp.com/api/channels/$DISCORD_CHANNEL_ID/messages"
|
||||||
|
$Body = @{
|
||||||
|
content = $TEXT
|
||||||
|
} | ConvertTo-Json
|
||||||
|
curl -s $URL -X POST -H "Authorization: Bot $DISCORD_TOKEN" -H "Content-Type: application/json" -d $Body
|
||||||
|
```
|
||||||
|
### Read from Discord
|
||||||
|
```Bash
|
||||||
|
curl -s -X GET $URL \
|
||||||
|
-H "Authorization: Bot $DISCORD_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" | jq -r .[0].content
|
||||||
|
```
|
||||||
|
```PowerShell
|
||||||
|
$messages = (curl -s -X GET $URL -H "Authorization: Bot $DISCORD_TOKEN" -H "Content-Type: application/json" | ConvertFrom-Json)
|
||||||
|
$messages | Select-Object content,timestamp,{$_.author.username}
|
||||||
|
```
|
||||||
|
### HttpClient
|
||||||
|
```PowerShell
|
||||||
|
$DISCORD_TOKEN = "MTE5NzE1NjM0NTM3NjQxMTcyOQ.XXXXXX.EzBF6RA9Kx_MSuhLW5elH1U-XXXXXXXXXXXXXX"
|
||||||
|
$DISCORD_CHANNEL_ID = "119403124XXXXXXXXXX"
|
||||||
|
$URL = "https://discordapp.com/api/channels/$DISCORD_CHANNEL_ID/messages"
|
||||||
|
$HttpClient = New-Object System.Net.Http.HttpClient
|
||||||
|
$HttpClient.DefaultRequestHeaders.Authorization = "Bot $DISCORD_TOKEN"
|
||||||
|
$response = $HttpClient.GetAsync($URL).Result
|
||||||
|
$messages = $response.Content.ReadAsStringAsync().Result
|
||||||
|
($messages | ConvertFrom-Json).content
|
||||||
|
```
|
||||||
|
### Button
|
||||||
|
```Bash
|
||||||
|
curl -X POST $URL \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "Authorization: Bot $DISCORD_TOKEN" \
|
||||||
|
-d '
|
||||||
|
{
|
||||||
|
"content": "Test text for button",
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": 2,
|
||||||
|
"label": "Button",
|
||||||
|
"style": 1,
|
||||||
|
"custom_id": "button_click"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
### Discord.Net.Webhook
|
||||||
|
```PowerShell
|
||||||
|
Add-Type -Path $(ls "$home\Documents\Discord.NET\*.dll").FullName
|
||||||
|
# https://discordapp.com/api/webhooks/<webhook_id>/<webhook_token> (Настроить канал - Интеграция)
|
||||||
|
$webhookId = 1197577280000000000
|
||||||
|
$webhookToken = "rs8AA-XXXXXXXXXXX_Vk5RUI4A6HuSGhpCCTepq25duwCwLXasfv6u23a7XXXXXXXXXX"
|
||||||
|
$messageContent = "Test dotNET"
|
||||||
|
$client = New-Object Discord.Webhook.DiscordWebhookClient($webhookId, $webhookToken)
|
||||||
|
$client.SendMessageAsync($messageContent).Wait()
|
||||||
|
```
|
||||||
|
### Discord.Net.WebSocket
|
||||||
|
```PowerShell
|
||||||
|
$DiscordAssemblies = $(ls "$home\Documents\Discord.NET\*.dll").FullName
|
||||||
|
foreach ($assembly in $DiscordAssemblies) {
|
||||||
|
Add-Type -Path $assembly
|
||||||
|
}
|
||||||
|
$DISCORD_TOKEN = "MTE5NzE1NjM0NTM3NjQxMTcyOQ.XXXXXX.EzBF6RA9Kx_MSuhLW5elH1U-XXXXXXXXXXXXXX"
|
||||||
|
$Client = New-Object Discord.WebSocket.DiscordSocketClient
|
||||||
|
$Client.Add_MessageReceived({
|
||||||
|
param($message)
|
||||||
|
if ($message.Author.Id -ne $Client.CurrentUser.Id) {
|
||||||
|
Write-Host ("Received message from " + $message.Author.Username + ": " + $message.Content)
|
||||||
|
if ($message.Content.Contains("ping")) {
|
||||||
|
$message.Channel.SendMessageAsync("pong").GetAwaiter().GetResult()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$Client.LoginAsync([Discord.TokenType]::Bot, $DISCORD_TOKEN).GetAwaiter().GetResult()
|
||||||
|
#$Client.StartAsync().Wait()
|
||||||
|
$Client.StartAsync().GetAwaiter().GetResult()
|
||||||
|
$Client.ConnectionState
|
||||||
|
|
||||||
|
[console]::ReadKey($true)
|
||||||
|
$Client.LogoutAsync().GetAwaiter().GetResult()
|
||||||
|
$Client.Dispose()
|
||||||
|
```
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue