As I told you, you can't do it like that.
You will either have to set multiple binds, or create a
pubm bind to match against * and parse the text inside the proc. Both have their benefits and fallbacks. Multiple binds means, well, multiple bindings (which isn't a bad thing unless you create a million binds, so I don't know why you wouldn't want this). A pubm bound procedure would have to process all text in a channel, which isn't too efficient.
So again... I repeat to you the solution I posted above, commented:
Code: Select all
# Set below the characters you wish to use prior to your command
# ie: 1) !command 2) .command 3)`command
set cmdchars ".!`"
# now we will set up the bindings based on that information provided above, you don't need to edit this part
foreach cmdchar [split $cmdchars ""] {
bind pub - ${cmdchar}say pub:say
}
#done
This does exactly what you ask, despite how many times you say it isn't what you are asking.