Topic Masking Guide

Please Note: This guide was written for the GameSurge IRC network and is intended for SRVX version 1.3 or higher.
Be advised that there is a step in this tutorial which requires owner (or level 500) access in your channel.


Before you can start hacking away at your channel topic, a firm understanding of wildcards and how they operate is required.
A multi-character wildcard is defined by the character *, and a single character wildcard is defined by the character ?.
These wildcards operate in the same fashion they did in DOS or Unix, if you remember using them in either of these environments.
For the purposes of this document, we will only be concerned with the multi-character wildcard *.

In Linux, to delete a file, you might execute the command:
rm ClassNotes.*
Or in DOS:
del ClassNotes.*

In either case, the system would delete all files called ClassNotes that had any extension.
Thus ClassNotes.txt, ClassNotes.jpg, ClassNotes.doc, ClassNotes.rtf, and so on would be deleted.
Therefore, the wildcard * means anything, ClassNotes.anything.

Setting Your Channel Topic

Now that we are comfortable using wildcards, let's set our topic.
In this example, I want my topic to be as follows:
«- #DOOMscrim •º• Visit #Doom for Doom³ Release and Technical Information •º• News: Welcome John to the staff! -»

My goal here is to have the topic always remain the same, yet when I issue the command
!topic Congrats to clan Foobar for winning the contest

the topic will be changed to
«- #DOOMscrim •º• Visit #Doom for Doom³ Release and Technical Information •º• News: Congrats to clan Foobar for winning the contest -»

Notice what I typed in after !topic was what was added after News.
This method of topic alteration is often referred to as topic masking.

We can take advantage of the wildcard * to set our topic mask in the way that would satisfy our needs.

I would execute the following command in my channel to accomplish this:
!set topicmask «- #DOOMscrim •º• Visit #Doom for Doom³ Release and Technical Information •º• News: * -»

Locking Your Topic So The Wildcard Is Used

You may notice that even though you set a topic mask for your channel, changing your topic still replaces the entire message.
This is because ChanServ grants you override for changing the topic, and will allow you to change it in its entirety.
To solve this problem, we must tell ChanServ that you do not want to override the topic mask, and you in fact want to use the wildcard.

To go about doing this, issue the following command:
!set enftopic 501

We choose to set enftopic (short for "enforce topic") to 501 because as an owner you are given access level 500.
The setting allows anyone above the level in which you specify to override the topic, thus replacing the entire string.
Since we always want to use the topic mask, we set enftopic to an access level higher than ourselves, so it will always be used.
This will keep the topic in tact, and only allow us to change the wildcard section of the topicmask (*).

Your topic should now be locked, and any !topic command should put the given string (text) in the topic where your wildcard (*) was placed, as in our example in the above section.
You can see your modifications by issuing the following command in your channel:

A list should appear, similar to the one as follows:
-ChanServ- Channel Options:
-ChanServ- DefaultTopic «- #DOOMscrim •º• Visit #Doom for Doom³ Release and Technical Information •º• News: N/A -»
-ChanServ- TopicMask «- #DOOMscrim •º• Visit #Doom for Doom³ Release and Technical Information •º• News: * -»
-ChanServ- Greeting None
-ChanServ- UserGreeting None
-ChanServ- Modes +tn
-ChanServ- PubCmd 0
-ChanServ- GiveOps 200
-ChanServ- EnfOps 300
-ChanServ- EnfModes 200
-ChanServ- EnfTopic 501
-ChanServ- Protect 2 - Users will be protected from those of lower access.
-ChanServ- Toys 1 - Toys will only reply privately.
-ChanServ- Setters 100
-ChanServ- TopicRefresh 0 - Never refresh topic.
-ChanServ- CTCPUsers 501
-ChanServ- CTCPReaction 2 - Short timed ban on disallowed CTCPs
-ChanServ- Mod None
-ChanServ- Game None
-ChanServ- Voice Off
-ChanServ- UserInfo On
-ChanServ- DynLimit Off
-ChanServ- TopicSnarf Off
-ChanServ- PeonInvite Off
-ChanServ- NoDelete Off

Notice the two bold lines reflect the settings I performed in this example.
Yours should be similar, if not you probably missed a step.

Altering Your Channel Mask

The time may come when you wish to change your set topic mask.
In my example I had set my topic mask to
«- #DOOMscrim •º• Visit #Doom for Doom³ Release and Technical Information •º• News: * -»

Suppose I wanted to change the mask to:
«- #DOOMscrim •º• •º• News: * -»

If I try to change the topic using the following command:
!set topicmask «- #DOOMscrim •º• •º• News: * -»

ChanServ notifies me I cannot do this by saying:
-ChanServ- The #DOOMscrim topic is locked.

To correct this problem, we must first tell ChanServ that we would like to override the topic mask, in order to alter it.
Do this by using the following command:
!set enftopic 200

Remember enftopic is what determines who can override the set topic, and who can use the wildcard.
The setting 200 tells ChanServ that Ops and above may change the topic.

We can now set our new topicmask with:
!set topicmask «- #DOOMscrim •º• •º• News: * -»

The final step is to relock the topic so we can again use the wildcard.
Do this with:
!set enftopic 501

Still a Little Confused?

If you are still a bit confused as to how topic masking operates, you may wish to visit #help.
#help is an excellent channel in which you may ask service based or general IRC related questions which are normally answered quickly and with quality.
I highly suggest giving #help a try if you are a little confused with this tutorial.

Thanks for reading

Last Revision: 09/14/2004

Important Links

   Acceptable Use Policy
   Frequently Asked Questions
   New User Guide
   Terms of Service

Language Selection

Language: de en

Calendar of Events

  July 2024  
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Submit an Event
Top Channels
  1. #cncnet-yr: 435
  2. #cncnet-mo: 117
Site Information

   0 Logged-In
   179 Anonymous

Session Information:
   0 minute, 0 second
   Language: English

Page Generation:
   Generated in 0.0266 seconds