what's pub ?
why does the procedure starts with pub ? I know about the other part of it, in this case its the ':something', but why does it start with pub ? is it nessesery ?
The first 'pub' is the type of a bind.. It means all public messages in channels. (see tcl-commands.doc also if you havent yet). The second 'pub' is just a label for the proc. When that bind is triggered by a message, it then will look for the proc "pub:something: and execute it. I personally don't use very descriptive proc names, to go as far as to designated it a "pub" proc. To sum it up, the second one is just there for looks, but if you change it make sure the name of your proc matches.
putting <bindtype>:proc is just a naming convention which makes it easier (for some people (such as myself:)) to see what it does, what bind it belongs to, get rid of conflicts if you tend to name dcc&msg procs the same etc...
its especially useful when you are working with larger scripts.