抱歉我的头衔不够清楚。我回来寻求更多的指导!
我想建立一个独特的语言踢机器人。我适度的聊天有大量的俄语聊天垃圾邮件。所以我试着建立一个机器人,当他们用俄语打字的时候,它会踢人。所以我设置了这个:
alias -l russian.words { RETURN Л.Д.э.И }
ON @*:TEXT:*:#: {
IF ($nick isop #) return
VAR %x = $strip($1-) , %i = $numtok($russian.words,46)
WHILE (%i) {
IF ($istok(%x,$gettok($russian.words,%i,46),32)) {
raw -q mode # +b $wildsite
msg # $nick $+ , English in chat, please! Только на английском языке в чате!
msg # /timeout $nick 1
RETURN
}
DEC %i
}
}问题是,只有在俄文“独立”的情况下,机器人才会检查这些信件。如果俄文字母是更大的句子/单词的一部分,机器人就不能工作。
我认为这是因为$gettok中的分隔符设置为32 (一个空格)。但是,当我将分隔符更改为0 (null)时,bot根本无法工作。
所以现在,机器人踢的唯一的东西是那些只使用那些特定字母的人。我想要机器人踢任何人谁使用这些字母,或当在一个句子/词。
顺便说一句,我之所以选择这些字母,是因为它们被认为是最常见的俄语字母,它们与英语的字母不一样。
任何帮助都是非常感谢的。
发布于 2014-08-13 02:41:24
尝尝这个
粘贴到新的远程文件中
on $@*:text:/(Л|Д|э|И)/iS:#:{
if ($nick !isop $chan) {
ban -k $nick 2 English in chat, please! Только на английском языке в чате!
}
}https://stackoverflow.com/questions/25262529
复制相似问题