From 3907535dd48b94b3edd5facde0245719f04effb2 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 12:06:50 +0200 Subject: add titlebot Reaktor configuration --- Reaktor/titlebot/titlebot.py | 64 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Reaktor/titlebot/titlebot.py (limited to 'Reaktor/titlebot/titlebot.py') diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py new file mode 100644 index 00000000..d04789c3 --- /dev/null +++ b/Reaktor/titlebot/titlebot.py @@ -0,0 +1,64 @@ +from os import environ,mkdir + +debug = False + +# CAVEAT name should not contains regex magic +name = 'bgt_titlebot' + +workdir = '/tmp/state' + +try: + mkdir(workdir) +except: pass + +irc_alarm_timeout = 300 +irc_hammer_interval = 10 +irc_kill_timeout = 360 +irc_nickname = name +irc_server = 'irc.freenode.org' +irc_port = 6667 +irc_restart_timeout = 5 +irc_channels = [ + '#binaergewitter' +] + +admin_file=workdir+'/'+'admin.lst' +try: + with open(admin_file,"x"): pass +except: pass +auth_file=workdir+'/'+'auth.lst' + +def default_command(cmd): + return { + 'capname': cmd, + 'pattern': '^(?:' + name + '|\\*):\\s*' + cmd + '\\s*(?:\\s+(?P.*))?$', + 'argv': [ 'commands/' + cmd ] } +def dot_command(cmd): + return { + 'capname': cmd, + 'pattern': '\\.' + cmd + '\\s*(?:\\s+(?P.*))?$', + 'argv': [ 'titlebot/commands/' + cmd ] } + +public_commands = [ + default_command('caps'), + default_command('hello'), + default_command('badcommand'), + default_command('rev'), + default_command('uptime'), + default_command('nocommand'), + dot_command('list'), + dot_command('help'), + dot_command('up'), + dot_command('new'), + dot_command('undo'), + dot_command('down'), + # identify via direct connect + { 'capname': 'identify', + 'pattern': 'identify' + '\\s*(?:\\s+(?P.*))?$', + 'argv' : [ 'commands/identify' ]} +] +commands = [ + default_command('reload'), + dot_command('clear') +] + -- cgit v1.2.3 From 56de31fe812d338ed49d2cfbb4c5dad9761bedf0 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 12:12:18 +0200 Subject: add ^ --- Reaktor/titlebot/titlebot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Reaktor/titlebot/titlebot.py') diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py index d04789c3..f85e69f2 100644 --- a/Reaktor/titlebot/titlebot.py +++ b/Reaktor/titlebot/titlebot.py @@ -36,7 +36,7 @@ def default_command(cmd): def dot_command(cmd): return { 'capname': cmd, - 'pattern': '\\.' + cmd + '\\s*(?:\\s+(?P.*))?$', + 'pattern': '^\\.' + cmd + '\\s*(?:\\s+(?P.*))?$', 'argv': [ 'titlebot/commands/' + cmd ] } public_commands = [ -- cgit v1.2.3 From 2ac7e46d6f242e299d2ad2a3f631dd45d3d95cba Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 12:22:40 +0200 Subject: Reaktor:fix ^ --- Reaktor/titlebot/titlebot.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Reaktor/titlebot/titlebot.py') diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py index d04789c3..dc4e28ae 100644 --- a/Reaktor/titlebot/titlebot.py +++ b/Reaktor/titlebot/titlebot.py @@ -33,7 +33,7 @@ def default_command(cmd): 'capname': cmd, 'pattern': '^(?:' + name + '|\\*):\\s*' + cmd + '\\s*(?:\\s+(?P.*))?$', 'argv': [ 'commands/' + cmd ] } -def dot_command(cmd): +def titlebot_cmd(cmd): return { 'capname': cmd, 'pattern': '\\.' + cmd + '\\s*(?:\\s+(?P.*))?$', @@ -46,19 +46,19 @@ public_commands = [ default_command('rev'), default_command('uptime'), default_command('nocommand'), - dot_command('list'), - dot_command('help'), - dot_command('up'), - dot_command('new'), - dot_command('undo'), - dot_command('down'), + titlebot_cmd('list'), + titlebot_cmd('help'), + titlebot_cmd('up'), + titlebot_cmd('new'), + titlebot_cmd('undo'), + titlebot_cmd('down'), # identify via direct connect { 'capname': 'identify', - 'pattern': 'identify' + '\\s*(?:\\s+(?P.*))?$', + 'pattern': '^identify' + '\\s*(?:\\s+(?P.*))?$', 'argv' : [ 'commands/identify' ]} ] commands = [ default_command('reload'), - dot_command('clear') + titlebot_cmd('clear') ] -- cgit v1.2.3 From 3560697a49050d74b04a537a994b34e1e4a4c807 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 14:18:37 +0200 Subject: update titlebot config --- Reaktor/titlebot/titlebot.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'Reaktor/titlebot/titlebot.py') diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py index 396b9b58..b5195d53 100644 --- a/Reaktor/titlebot/titlebot.py +++ b/Reaktor/titlebot/titlebot.py @@ -1,6 +1,6 @@ -from os import environ,mkdir +from os import environ,mkdir,abspath -debug = False +debug = True # CAVEAT name should not contains regex magic name = 'bgt_titlebot' @@ -21,18 +21,27 @@ irc_restart_timeout = 5 irc_channels = [ '#binaergewitter' ] +admin_file=workdir+'/admin.lst' +auth_file=workdir+'/auth.lst' + +config_filename = abspath(__file__) -admin_file=workdir+'/'+'admin.lst' try: with open(admin_file,"x"): pass except: pass -auth_file=workdir+'/'+'auth.lst' -def default_command(cmd): +# me is used, so name cannot kill our patterns below +me = '\\b' + re.escape(name) + '\\b' +me_or_us = '(?:' + me + '|\\*)' + +def default_command(cmd, env=None): + if not env: env = {} return { 'capname': cmd, - 'pattern': '^(?:' + name + '|\\*):\\s*' + cmd + '\\s*(?:\\s+(?P.*))?$', - 'argv': [ 'commands/' + cmd ] } + 'pattern': '^' + me_or_us + ':\\s*' + cmd + '\\s*(?:\\s+(?P.*))?$', + 'argv': [ 'commands/' + cmd ], + 'env': env + } def titlebot_cmd(cmd): return { 'capname': cmd, @@ -40,7 +49,9 @@ def titlebot_cmd(cmd): 'argv': [ 'titlebot/commands/' + cmd ] } public_commands = [ - default_command('caps'), + default_command('caps', env={ + 'config_filename': config_filename + }), default_command('hello'), default_command('badcommand'), default_command('rev'), @@ -54,7 +65,7 @@ public_commands = [ titlebot_cmd('down'), # identify via direct connect { 'capname': 'identify', - 'pattern': '^identify' + '\\s*(?:\\s+(?P.*))?$', + 'pattern': '^identify' + '\\s*(?:\\s+(?P.*))?$', 'argv' : [ 'commands/identify' ]} ] commands = [ -- cgit v1.2.3 From 2d646912b01c3e9399c19347b524ebbe00f44a04 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 15:54:08 +0200 Subject: make exceptions more clear --- Reaktor/titlebot/titlebot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Reaktor/titlebot/titlebot.py') diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py index 05ff612e..6a3b2f79 100644 --- a/Reaktor/titlebot/titlebot.py +++ b/Reaktor/titlebot/titlebot.py @@ -1,6 +1,6 @@ from os import environ,mkdir from os.path import abspath, expanduser - +import re debug = False # CAVEAT name should not contains regex magic -- cgit v1.2.3 From da5b4578c07838d7c8c5c1c923ea03895e19a0da Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 16:34:34 +0200 Subject: add highest for titlebot --- Reaktor/titlebot/titlebot.py | 1 + 1 file changed, 1 insertion(+) (limited to 'Reaktor/titlebot/titlebot.py') diff --git a/Reaktor/titlebot/titlebot.py b/Reaktor/titlebot/titlebot.py index 6a3b2f79..c1eac3b0 100644 --- a/Reaktor/titlebot/titlebot.py +++ b/Reaktor/titlebot/titlebot.py @@ -60,6 +60,7 @@ public_commands = [ default_command('nocommand'), titlebot_cmd('list'), titlebot_cmd('help'), + titlebot_cmd('highest'), titlebot_cmd('up'), titlebot_cmd('new'), titlebot_cmd('undo'), -- cgit v1.2.3