commit 1c1388c4ef07849b5afb87ee8f5c8105a27e8686
parent 98cc3245e647510cecdb9660af8166dfebc7a0b8
Author: hhvn <dev@hhvn.uk>
Date: Tue, 6 Apr 2021 20:16:50 +0200
botreply: add multi-language support for :ipa and :phoneme
Signed-off-by: mys <>
Diffstat:
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/botreply b/botreply
@@ -40,14 +40,17 @@ case "$1" in
echo "JOIN $channel"
echo "MODE $nick +B"
;;
- *"PRIVMSG "*":$nick: :ipa"*|*"PRIVMSG "*":$nick, :ipa"*)
- ret=$(espeak -q --ipa "$(echo "$1" | sed 's/.*:ipa //')")
+ *"PRIVMSG "*":$nick: "*":ipa"*|*"PRIVMSG "*":$nick, "*":ipa"*)
+ lang=$(echo "$1" | sed -E 's/.* ([^ ]*):ipa.*/\1/')
+ echo "$lang" >>/dev/stderr
+ ret=$(espeak -q --ipa -v ${lang:-en} "$(echo "$1" | sed 's/.*:ipa //')")
name=${1%%!*}
name=${name#:}
echo "$1" | awk -v "name=$name" -v "ret=$ret" '{print "PRIVMSG "$3" :"name": "ret}' | tr -s ' ' | sed 's/\.\.\.-\.-[[:space:]]*//'
;;
- *"PRIVMSG "*":$nick: :phonemes"*|*"PRIVMSG "*":$nick, :phoneme"*)
- ret=$(espeak -qx "$(echo "$1" | sed 's/.*:phoneme //')")
+ *"PRIVMSG "*":$nick: "*":phonemes"*|*"PRIVMSG "*":$nick, "*":phoneme"*)
+ lang=$(echo "$1" | sed -E 's/.* ([^ ]*):phoneme.*/\1/')
+ ret=$(espeak -qxv ${lang:-en} "$(echo "$1" | sed 's/.*:phoneme //')")
name=${1%%!*}
name=${name#:}
echo "$1" | awk -v "name=$name" -v "ret=$ret" '{print "PRIVMSG "$3" :"name": "ret}' | tr -s ' ' | sed 's/\.\.\.-\.-[[:space:]]*//'
@@ -69,9 +72,9 @@ case "$1" in
*"PRIVMSG "*":$nick: help"|*"PRIVMSG "*":$nick, help")
channel=$(echo "$1" | awk '{print $3}')
echo "PRIVMSG $channel :$nick: [[input-lang]:<output-lang>] <untranslated-text>"
+ echo "PRIVMSG $channel :$nick: [input-lang]:phoneme <english text>"
+ echo "PRIVMSG $channel :$nick: [input-lang]:ipa <english text>"
echo "PRIVMSG $channel :$nick: :morse <encoded-text|unencoded-text>"
- echo "PRIVMSG $channel :$nick: :phoneme <english text>"
- echo "PRIVMSG $channel :$nick: :ipa <english text>"
echo "PRIVMSG $channel :$nick: :rot<n> <text>"
;;
*"PRIVMSG "*":$nick:"*|*"PRIVMSG "*":$nick,"*)