我正在尝试找到一种方法,让我的 Discord 服务器在 twitch 频道上触发频道点兑换时发布数据。
我找不到直接的方法,所以
我使用第 3 方聊天机器人(称为 chatty)将消息记录到本地 Windows 10 计算机上的日志文件中
然后在Windows powershell上使用脚本在discord上使用webhooks发布消息,问题是脚本发布“File: C:\Users\AYYA.chatty\logs�3-12-09_highlighted.log Changed”而不是实际的日志文件最后一行的数据。
看起来像下面这样
示例:“[2023-12-09 04:26:54 AM][#Testrider] MOD|SUB/12 @ELCabager Wondertrade 池中有 1x 伊布!(0x ✨)”
使用的脚本如下
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Users\AYYA\.chatty\logs"
$watcher.Filter = "2023-12-09_highlighted.log"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true
$action = {
$path = $Event.SourceEventArgs.FullPath
$changeType = $Event.SourceEventArgs.ChangeType
$log = "File: $path $changeType"
$webhookurl = "https://discord.com/api/webhooks/1182854675947593799/DHgRfZWP547WkDUrwG9LuGtwNrWLs51o6Z0CmgqLa0Gh_jtUmeDj9qxmhvPNOV8_dOkx"
$body = @{
content = $log
} | ConvertTo-Json
Invoke-RestMethod -Uri $webhookurl -Method Post -Body $body -ContentType 'application/json'
}
Register-ObjectEvent -InputObject $watcher -EventName Created -Action $action
Register-ObjectEvent -InputObject $watcher -EventName Changed -Action $action`
Get-Content
cmdlet 读取它,如下所示:
$content = (Get-Content -Path $path -Tail 1).ToString()
$body = @{
content = $content
} | ConvertTo-Json