Jump to content
chain

OO7.tcl

Recommended Posts

  • Administrators

I recommend you don't run this script on a bot that already has to do alot
If the channel you're spying on has alot of users with alot of talking your bot could excess flood

 

# Info
# Author : AkTaRuS - #SiamoSoloNoi on IRCserveR Italia https://www.ircwebnet.com/chat
# Version: 007.TCL 1.1
set spy(author)  "AkTaRuS - #SiamoSoloNoi on IRCserveR Italia https://www.ircwebnet.com/chat"
set spy(version) " OO7.tcl 1.1"

# Description

# This script will relay anything said on one channel to the other channel you configure
# I recommend you don't run this script on a bot that already has to do alot
# If the channel you're spying on has alot of users with alot of talking your bot could excess flood

# Configuration

# The channel it reports everything to
set spy(home) "#siamosolonoi"

# The channel it gets all the data from and then reports it to the homechannel
set spy(chan) "#canale spiato"

bind PUBM   -|- *                spychan:chat
bind CTCP   -|- "ACTION"         spychan:action
bind SIGN   -|- "$spy(chan) *"   spychan:sign
bind JOIN   -|- "$spy(chan) *"   spychan:join
bind PART   -|- "$spy(chan) *"   spychan:part
bind SPLT   -|- "$spy(chan) *"   spychan:split
bind KICK   -|- "$spy(chan) *"   spychan:kick
bind RAW     *  "MODE"           spychan:mode

proc spychan:part { nickname hostname handle channel reason } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
    putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has left $spy(chan)"
    }
       }

proc spychan:join { nickname hostname handle channel } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
    putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has joined $spy(chan)"
    }
       }

proc spychan:kick { nickname hostname handle channel target reason } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
    putserv "PRIVMSG $spy(home) :\[$channel\] * $target was kicked from $spy(chan) by $nickname ($reason)"
    }
       }

proc spychan:mode { from key arguments } {
    global spy
    set channel [string trim [lindex [split $arguments] 0]] 
    set modechange [string trim [lindex [split $arguments] 1]] 
    set victims [string trim [join [lrange [split $arguments] 2 end]]] 

    set nickname [string trim [lindex [split $from "!"] 0]] 
    set hostname [string trim [lindex [split $from "!"] 1]]
    if {[string equal -nocase $channel $spy(chan)]} {
    putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname sets mode: $modechange $victims"
    }
       }

proc spychan:sign { nickname hostname handle channel reason } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
    putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname ($hostname) has quit IRC ($reason)"
    }
       }

proc spychan:split { nickname hostname handle channel arguments } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
    putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname has split from the network"
    }
       }

proc spychan:chat { nickname hostname handle channel arguments } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :$arguments"
        }
       }

proc spychan:action { nickname hostname handle channel keyword arguments } {
    global spy
    if {[string equal -nocase $channel $spy(chan)]} {
        putserv "PRIVMSG $spy(home) :\[$channel\] * $nickname $arguments"
        }
       }

putlog "OO7.tcl version $spy(version) by $spy(author)  Loaded!"

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...