0

私のタイトルが十分に明確でない場合は申し訳ありません。私はいくつかのより多くのガイダンスのために戻ってきました!

独自の言語キック ボットを設定しようとしています。私が管理しているチャットには、ロシア語のチャット スパマーが流入しています。そこで私は、誰かがロシア語を入力するとキックするボットをセットアップしようとしていました。だから私はこれを設定しました:

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) に変更すると、ボットがまったく機能しなくなります。

したがって、現在、ボットがキックするのは、これらの特定の文字のみを使用する人だけです. それらの文字を単独で使用する人、または文/単語で使用する人にボットをキックさせたい.

ところで、私がこれらの文字を選んだのは、それらが英語と同じ文字を共有しない最も一般的なロシア文字と考えられているためです.

どんな助けでも大歓迎です。

4

1 に答える 1

0

この
貼り付けを新しいリモートファイルに試してください

on $@*:text:/(Л|Д|э|И)/iS:#:{
if ($nick !isop $chan) {
ban -k $nick 2 English in chat, please! Только на английском языке в чате!
}
}
于 2014-08-13T02:41:24.530 に答える