diff --git a/Docs/VoiceControl.md b/Docs/VoiceControl.md index 96f4b3ce..7efef2c0 100644 --- a/Docs/VoiceControl.md +++ b/Docs/VoiceControl.md @@ -98,3 +98,4 @@ Nice Conversation * *Computer, tell joke.* * *Computer, tell quote.* * *Computer, tell operating system.* +* *Computer, tell up-time.* diff --git a/Scripts/tell-uptime.ps1 b/Scripts/tell-uptime.ps1 new file mode 100755 index 00000000..7617cd1e --- /dev/null +++ b/Scripts/tell-uptime.ps1 @@ -0,0 +1,31 @@ + +.SYNOPSIS + Tells the uptime by text-to-speech +.DESCRIPTION +G This script speaks the uptime version by text-to-speech (TTS). +.EXAMPLE + PS> ./tell-uptime +.NOTES + Author: Markus Fleschutz · License: CC0 +.LINK + https://github.com/fleschutz/PowerShell +#> + +try { + if ($IsLinux) { + $Uptime = (get-uptime) + } else { + $BootTime = Get-WinEvent -ProviderName eventlog | Where-Object {$_.Id -eq 6005} | Select-Object TimeCreated -First 1 + $TimeNow = Get-Date + $Uptime = New-TimeSpan -Start $BootTime.TimeCreated.Date -End $TimeNow + } + + $Answer = "$($Uptime.Days) days, $($Uptime.Hours) hours, $($Uptime.Minutes) minutes." + + write-output "$Answer" + & "$PSScriptRoot/speak-english.ps1" "$Answer" + exit 0 # success +} catch { + "⚠️ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))" + exit 1 +}