Skip to content

Commit

Permalink
added ircmessage to sauermessage
Browse files Browse the repository at this point in the history
  • Loading branch information
Harry Delmolino committed Mar 2, 2010
1 parent 8df4571 commit 99d740b
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 24 deletions.
1 change: 0 additions & 1 deletion server-init.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@ serverdesc "Another XSBS Server"
publicserver 1
maxclients 19
adminpass xsbsrules

5 changes: 2 additions & 3 deletions src/pyscripts/Config/ircbot.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[Templates]
status_message = ${num_clients} clients on map ${map_name}
irc_message = ${white}(${blue}IRC${white}) ${red}${name}${white}: ${message}
irc_message = '${grey}${channel} ${blue}${name}${white}: ${message}'

[Commands]
ban = yes
Expand All @@ -27,9 +27,8 @@ relinquish_master = yes

[Config]
part_message = XSBS - eXtensible SauerBraten Server
servername = irc.gamesurge.net
servername = irc.GameSurge.net
enable = no
nickname = xsbs-testbot
port = 6667
channel = #xsbs-test

38 changes: 18 additions & 20 deletions src/pyscripts/plugins/ircbot.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from twisted.words.protocols import irc
from twisted.internet import reactor, protocol

from xsbs.colors import colordict
from xsbs.settings import PluginConfig, NoOptionError
from xsbs.events import registerServerEventHandler
from xsbs.timers import addTimer
from xsbs.server import message

import sbserver

Expand All @@ -17,12 +19,13 @@
port = int(config.getOption('Config', 'port', '6667'))
part_message = config.getOption('Config', 'part_message', 'XSBS - eXtensible SauerBraten Server')
msg_gw = config.getOption('Abilities', 'message_gateway', 'yes') == 'yes'
irc_msg_temp = config.getOption('Templates', 'irc_message', '${white}(${blue}IRC${white}) ${red}${name}${white}: ${message}')
irc_msg_temp = config.getOption('Templates', 'irc_message', '${grey}${channel} ${blue}${name}${white}: ${message}')
status_message = config.getOption('Templates', 'status_message', '${num_clients} clients on map ${map_name}')
try:
ipaddress = config.getOption('Config', 'ipaddress', None, False)
except NoOptionError:
ipaddress = None
irc_msg_temp = string.Template(irc_msg_temp)

class IrcBot(irc.IRCClient):
def connectionMade(self):
Expand All @@ -44,7 +47,10 @@ def left(self, channel):
def broadcast(self, message):
for channel in self.joined_channels:
self.say(channel, message)

def privmsg(self, user, channel, msg):
user = user.split('!', 1)[0]
message(irc_msg_temp.substitute(colordict, channel=channel, name=user, message=msg))

class IrcBotFactory(protocol.ClientFactory):
protocol = IrcBot
def __init__(self, nickname, channels):
Expand Down Expand Up @@ -73,26 +79,18 @@ def broadcast(self, message):
bot.broadcast(message)

event_abilities = {
'player_active': ('player_connect', lambda x: factory.broadcast(
'\x032CONNECT\x03 %s (\x037 %i \x03)' % (sbserver.playerName(x), x))),
'player_disconnect': ('player_disconnect', lambda x: factory.broadcast(
'\x032DISCONNECT\x03 %s (\x037 %i \x03)' % (sbserver.playerName(x), x))),
'message': ('player_message', lambda x, y: factory.broadcast(
'\x033MESSAGE\x03 %s (\x037 %i \x03): %s' % (sbserver.playerName(x), x, y))),
'map_change': ('map_changed', lambda x, y: factory.broadcast(
'\x038MAP CHANGE\x03 %s (%s)' % (x, sbserver.modeName(y)))),
'gain_admin': ('player_claimed_admin', lambda x: factory.broadcast(
'\x036CLAIM ADMIN\x03 %s (\x037 %i \x03)' % (sbserver.playerName(x), x))),
'gain_master': ('player_claimed_master', lambda x: factory.broadcast(
'\x036CLAIM MASTER\x03 %s (\x037 %i \x03)' % (sbserver.playerName(x), x))),
'auth': ('player_auth_succeed', lambda x, y: factory.broadcast(
'\x036AUTH\x03 %s (\x037 %i \x03) as %s@sauerbraten.org' % (sbserver.playerName(x), x, y))),
'relinquish_admin': ('player_released_admin', lambda x: factory.broadcast(
'\x036RELINQ ADMIN\x03 %s (\x037 %i \x03)' % (sbserver.playerName(x), x))),
'relinquish_master': ('player_released_master', lambda x: factory.broadcast(
'\x036RELINQ MASTER\x03 %s (\x037 %i \x03)' % (sbserver.playerName(x), x))),
'player_active': ('player_connect', lambda x: factory.broadcast('%s (\x037 %i \x03) \x032Connected\x03' % (sbserver.playerName(x), x))),
'player_disconnect': ('player_disconnect', lambda x: factory.broadcast('%s (\x037 %i \x03) \x032Disconnected\x03' % (sbserver.playerName(x), x))),
'message': ('player_message', lambda x, y: factory.broadcast('%s (\x037 %i \x03): %s' % (sbserver.playerName(x), x, y))),
'map_change': ('map_changed', lambda x, y: factory.broadcast('\x038Map changed to:\x03 %s (%s)' % (x, sbserver.modeName(y)))),
'gain_admin': ('player_claimed_admin', lambda x: factory.broadcast('%s (\x037 %i \x03) \x036Has claimed admin\x03' % (sbserver.playerName(x), x))),
'gain_master': ('player_claimed_master', lambda x: factory.broadcast('%s (\x037 %i \x03) \x036Has claimed master\x03' % (sbserver.playerName(x), x))),
'auth': ('player_auth_succeed', lambda x, y: factory.broadcast('%s (\x037 %i \x03) has authenticated as\x036 %s@sauerbraten.org\x03' % (sbserver.playerName(x), x, y))),
'relinquish_admin': ('player_released_admin', lambda x: factory.broadcast('%s (\x037 %i \x03) \x036Has relinquished admin\x03' % (sbserver.playerName(x), x))),
'relinquish_master': ('player_released_master', lambda x: factory.broadcast('%s (\x037 %i \x03) \x036Has relinquished master\x03' % (sbserver.playerName(x), x))),
}


def init():
if enable:
factory.doConnect()
Expand Down

0 comments on commit 99d740b

Please sign in to comment.