44 lines
1.2 KiB
Bash
44 lines
1.2 KiB
Bash
#!/bin/bash
|
|
if [ -z "$1" ]; then
|
|
msg="SHIT'S GOIN ON RN"
|
|
else
|
|
msg="$1"
|
|
fi
|
|
|
|
broadcast_important_princess_message () {
|
|
# Check if a message was provided
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: broadcast_important_princess_message \"Princess' Important Message\"" >&2
|
|
return 1
|
|
fi
|
|
|
|
# Check for root/sudo privileges (required to write to other users' PTYs)
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Error: fuckyou dis shit needs root FAIL" >&2
|
|
return 1
|
|
fi
|
|
|
|
local message="$1"
|
|
local timestamp
|
|
timestamp=$(date +"%H:%M:%S")
|
|
|
|
echo "Broadcasting message to all ponies~"
|
|
|
|
# Loop through all numeric entries in /dev/pts/
|
|
for pty in /dev/pts/[0-9]*; do
|
|
# Ensure it's an actual character device file before writing
|
|
if [ -c "$pty" ]; then
|
|
# Send the message with a clear broadcast banner
|
|
{
|
|
echo -e "\033[31m"
|
|
echo -e "=== PRINCESS BROADCAST SYSTEM ($timestamp) ==="
|
|
echo -e "$message"
|
|
echo -e "====================================="
|
|
echo -e "\e[0m"
|
|
} > "$pty" 2>/dev/null
|
|
fi
|
|
done
|
|
}
|
|
|
|
# needz root to write to other peoplez ptys
|
|
sudo broadcast_important_princess_message "$msg" |