Somehow this was missed out of the archive...
/* messages.c
Tricky
14-MAY-2007
simul_efun
*/
int is_smiley(string msg)
{
string *smilies = ({
/* Some smilies from MSN Messenger */
":-)", ":)",
":-D", ":D",
":-O", ":O", ":-o", ":o",
":-P", ":P", ":-p", ":p",
";-)", ";)",
":-(", ":(",
":-S", ":S", ":-s", ":s",
":-|", ":|",
":'(",
":-$", ":$",
":-@", ":@",
":-#", ":#",
"8o|",
"8-|", "8|",
"^o)",
":-*", ":*",
"+o(",
":^)",
"*-)", "*)",
"<:o)",
"8-)", "8)",
"|-)", "|)",
":-[", ":[",
":-b", ":b",
"o:-)", "o:)",
/* Some smilies from Yahoo! Messenger */
"=;",
";;)",
"i-)", "i)",
">:D<",
"l-)", "l)",
":-/", ":/"
"o/",
":-&", ":&",
":X", ":x",
":\">",
"[-(", "[(",
":o)",
"8-}", "8}",
"=((",
"<:-p", "<:p",
"(:|",
"X(", "x(",
"=P~", "=p~",
":>",
":-?", ":?",
"B-)", "B)", "b-)", "b)",
"#-O", "#O", "#-o", "#o",
"=D>",
"#:-S", "#:S", "#:-s", "#:s",
":-SS", ":SS", ":-ss", ":ss",
">:)",
"@-)", "@)",
":-((", ":((",
":^O", ":^o",
":-))", ":))",
":-W", ":W", ":-w", ":w",
":-<", ":<",
"/:)",
">:-P", ">:P", ">:-p", ">:p",
"=))",
"<):-)", "<):)",
/* Miscellaneous */
"><>", "<><",
":*)",
"8//=/\\=",
});
foreach(string emoteicon in smilies)
{
if(sizeof(msg) < sizeof(emoteicon)) continue;
else
if(sizeof(msg) > sizeof(emoteicon))
{
if(msg[0..sizeof(emoteicon)] == emoteicon + " ")
return 1;
}
else
if(msg == emoteicon)
return 1;
}
return 0;
}
int is_emote(string msg)
{
return (msg[0..0] == ":" || is_smiley(msg));
}