2012年8月27日

自動opボット for nadoka

俺得の nadokaさん 向けのbot第3弾。

機能: ユーザ情報を正規表現でチェックする自動OP


これも定番機能ですよね!nadokaさんに添付のautoop.nbはhostを見てくれないので書いた。
他の方の自動opと重複しないようにop発動まで2~4秒のディレイ付き。


autoopbot.nb
class AutoOpBot < Nadoka::NDK_Bot
  
  def bot_initialize
    @myfriends = [
     #["#sample",/nick.*!user@host/],
      ["#chouheiwa",/jintan.*!~yadomijinta@M.*\.ppp\.dion\.ne\.jp/],
      ["#chouheiwa",/anaru.*!~anjounaruko@softbank[0-9]{12}.bbtec.net/],
      ["#chouheiwa",/menma.*!~honmameiko@..\.net.........\.t-com\.ne\.jp/],
    ]
  end
  
  def on_join prefix, ch
    if prefix.nick != @state.nick && /o/ =~ @state.channel_user_mode(ch, @state.nick)
      @myfriends.each do |friend|
        if ch == friend[0] && prefix.to_s =~ Regexp.union(friend[1])
          opthread = Thread.new do
            sleep( (rand(20)+20)*0.1 )
            if /o/ !~ @state.channel_user_mode(ch, prefix.nick)
              change_mode(ch, "+o", prefix.nick)
            end
          end
        end
      end #each
    end #if
  end #def
  
end #class



なんとbotファイル内にOP対象ユーザ情報を書き込んでいる!
nadokarc に正規表現で記述して反映させる方法を知らないのでこんなことに!
でもこのほうがわかりやすいのでいいや。

使い方→@myfriendsに好きなだけ追加してください。運がよければたぶん発動します。

0 コメント:

コメントを投稿