#!/bin/bash
if [ -z "$1" ]; then
    msg="SHIT'S GOIN ON RN"
else
    msg="$1"
fi

broadcast_pty() {
    # Check if a message was provided
    if [ -z "$1" ]; then
        echo "Usage: broadcast_pty \"Your message here\"" >&2
        return 1
    fi

    # Check for root/sudo privileges (required to write to other users' PTYs)
    if [ "$EUID" -ne 0 ]; then
        echo "Error: This function must be run as root or with sudo." >&2
        return 1
    fi

    local message="$1"
    local timestamp
    timestamp=$(date +"%H:%M:%S")

    echo "Broadcasting message to all active terminals..."

    # 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_pty "$msg"