Files
stormbot/modules/sing/sing.sh
2025-10-25 01:30:02 -04:00

28 lines
749 B
Bash
Executable File

#!/usr/bin/env bash
[ -f functions.sh ] && source functions.sh
# Dependencies required by this module
dependencies=("clyrics")
shift
chan="$1"
shift
# Check dependencies before running
if ! check_dependencies "${dependencies[@]}"; then
msg "$chan" "$1: This module requires: ${dependencies[*]}"
exit 1
fi
# Get the lyric text into a variable (quote $@ to prevent command injection)
lyricText="$(clyrics "$@" | tr '[:space:]' ' ' | tr -s ' ' | fold -s -w 384)"
i=$(echo "$lyricText" | wc -l)
i=$((RANDOM % i + 1))
lyricText="$(echo "$lyricText" | tail +$i | head -1 | rev | cut -d '.' -f2- | rev)"
#Display the lyric text
if [ ${#lyricText} -gt 15 ] ; then
msg "$chan" "${lyricText}"
exit 0
fi
msg "$chan" "no lyrics found for $*."
exit 0