diff --git a/plugins/Alias.py b/plugins/Alias.py index 1312cb5ae..0804b23aa 100644 --- a/plugins/Alias.py +++ b/plugins/Alias.py @@ -189,6 +189,8 @@ class Alias(callbacks.Privmsg): def addAlias(self, irc, name, alias, freeze=False): if self._invalidCharsRe.search(name): raise AliasError, 'Names cannot contain spaces or square brackets.' + if conf.enablePipeSyntax and '|' in name: + raise AliasError, 'Names cannot contain pipes.' realName = callbacks.canonicalName(name) if name != realName: raise AliasError,'That name isn\'t valid. Try %r instead'%realName diff --git a/test/test_Alias.py b/test/test_Alias.py index ea0ba2c2d..13f3260ad 100644 --- a/test/test_Alias.py +++ b/test/test_Alias.py @@ -98,6 +98,13 @@ class AliasTestCase(PluginTestCase, PluginDocumentation): self.assertError('alias FOO foo') self.assertError('alias [] foo') self.assertError('alias "foo bar" foo') + try: + conf.enablePipeSyntax = True + self.assertError('alias "foo|bar" foo') + conf.enablePipeSyntax = False + self.assertNotError('alias "foo|bar" foo') + finally: + conf.enablePipeSyntax = False def testNotCannotNestRaised(self): self.assertNotError('alias mytell "tell $channel $1"')