PowerShell/Scripts/tell-joke.ps1

27 lines
646 B
PowerShell
Raw Normal View History

2021-09-27 10:38:12 +02:00
<#
2021-07-13 21:10:02 +02:00
.SYNOPSIS
Tells a joke by text-to-speech
2021-10-04 21:29:23 +02:00
.DESCRIPTION
2022-01-30 10:49:30 +01:00
This PowerShell script selects a random Chuck Norris joke in Data/jokes.csv and speaks it by text-to-speech (TTS).
2021-07-13 21:10:02 +02:00
.EXAMPLE
PS> ./tell-joke
2021-07-13 21:10:02 +02:00
.LINK
https://github.com/fleschutz/PowerShell
2022-01-30 10:49:30 +01:00
.NOTES
2022-09-06 21:42:04 +02:00
Author: Markus Fleschutz | License: CC0
2021-02-06 18:13:12 +01:00
#>
try {
2022-09-06 21:42:04 +02:00
$Table = Import-CSV "$PSScriptRoot/../Data/jokes.csv"
2021-02-06 18:13:12 +01:00
$Generator = New-Object System.Random
2021-10-07 10:57:51 +02:00
$Index = [int]$Generator.next(0, $Table.Count - 1)
2021-12-06 18:48:32 +01:00
$Reply = $Table[$Index].Joke
2021-02-06 18:13:12 +01:00
2022-11-18 16:49:17 +01:00
& "$PSScriptRoot/speak-english.ps1" "$Reply"
2021-09-27 10:09:45 +02:00
exit 0 # success
2021-02-06 18:13:12 +01:00
} catch {
2022-04-13 12:06:32 +02:00
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
2021-02-06 18:13:12 +01:00
exit 1
2022-11-18 16:49:17 +01:00
}