On topic
From Scriptwiki
The on TOPIC event triggers when a user changes a channel topic.
on <level>:TOPIC:<#[,#]>:<commands>
The $1- parameter holds the new topic.
Examples
on *:TOPIC:#: { echo $chan $nick just changed topic on $chan to: $1- }
This would echo whenever a new topic is set in a channel you are. The target is the channel where topic was changed.
The next, more complex example, would undo every topic change of a "not knows" user. Note that you should set a standardtopic at first (by using /set %topic <topic>). You additionally need to change #yourchan to your channel (e.g. #help.script).
on *:TOPIC:#yourchan: { ; if the one who has set the new topic has a userlevel lower than 2 if ($level($nick) < 2) { ; if we have a topic saved (in %topic), we reset the topic if (%topic) { topic #help.script %topic } ; if not, we take the new topic as standard else { set %topic $1- } } ; if the level is above 2, the user is allowed to change the topic else { ; take the new topic as standard set %topic $1- } }
Note that this example is for one channel only. If you want to have it for more than one channel, you need to choose variables depeding on the channelname (e.g. %topic. [ $+ [ $chan ] ])