Python3
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8
|
||||
|
||||
# Copyright (C) 2011 Stefan Hacker <dd0t@users.sourceforge.net>
|
||||
@@ -34,19 +34,20 @@
|
||||
# This module allows asking the server for the last time it saw a specific player
|
||||
#
|
||||
|
||||
from mumo_module import (commaSeperatedIntegers,
|
||||
MumoModule)
|
||||
|
||||
from datetime import timedelta
|
||||
|
||||
from config import commaSeperatedIntegers
|
||||
from mumo_module import MumoModule
|
||||
|
||||
|
||||
class seen(MumoModule):
|
||||
default_config = {'seen':(
|
||||
('servers', commaSeperatedIntegers, []),
|
||||
('keyword', str, '!seen')
|
||||
)
|
||||
}
|
||||
|
||||
def __init__(self, name, manager, configuration = None):
|
||||
default_config = {'seen': (
|
||||
('servers', commaSeperatedIntegers, []),
|
||||
('keyword', str, '!seen')
|
||||
)
|
||||
}
|
||||
|
||||
def __init__(self, name, manager, configuration=None):
|
||||
MumoModule.__init__(self, name, manager, configuration)
|
||||
self.murmur = manager.getMurmurModule()
|
||||
self.keyword = self.cfg().seen.keyword
|
||||
@@ -55,31 +56,33 @@ class seen(MumoModule):
|
||||
manager = self.manager()
|
||||
log = self.log()
|
||||
log.debug("Register for Server callbacks")
|
||||
|
||||
|
||||
servers = self.cfg().seen.servers
|
||||
if not servers:
|
||||
servers = manager.SERVERS_ALL
|
||||
|
||||
|
||||
manager.subscribeServerCallbacks(self, servers)
|
||||
|
||||
def disconnected(self): pass
|
||||
|
||||
|
||||
def disconnected(self):
|
||||
pass
|
||||
|
||||
def sendMessage(self, server, user, message, msg):
|
||||
if message.channels:
|
||||
server.sendMessageChannel(user.channel, False, msg)
|
||||
else:
|
||||
server.sendMessage(user.session, msg)
|
||||
server.sendMessage(message.sessions[0], msg)
|
||||
|
||||
#
|
||||
#--- Server callback functions
|
||||
# --- Server callback functions
|
||||
#
|
||||
|
||||
|
||||
def userTextMessage(self, server, user, message, current=None):
|
||||
if message.text.startswith(self.keyword) and \
|
||||
(len(message.sessions) == 1 or
|
||||
(len(message.channels) == 1 and \
|
||||
message.channels[0] == user.channel)):
|
||||
|
||||
(len(message.sessions) == 1 or
|
||||
(len(message.channels) == 1 and \
|
||||
message.channels[0] == user.channel)):
|
||||
|
||||
tuname = message.text[len(self.keyword):].strip()
|
||||
self.log().debug("User %s (%d|%d) on server %d asking for '%s'",
|
||||
user.name, user.session, user.userid, server.id(), tuname)
|
||||
@@ -89,35 +92,43 @@ class seen(MumoModule):
|
||||
msg = "User '%s' knows how to spell his name" % tuname
|
||||
self.sendMessage(server, user, message, msg)
|
||||
return
|
||||
|
||||
|
||||
# Check online users
|
||||
for cuser in server.getUsers().itervalues():
|
||||
for cuser in server.getUsers().values():
|
||||
if tuname == cuser.name:
|
||||
msg = "User '%s' is currently online, has been idle for %s" % (tuname,
|
||||
timedelta(seconds=cuser.idlesecs))
|
||||
timedelta(seconds=cuser.idlesecs))
|
||||
self.sendMessage(server, user, message, msg)
|
||||
return
|
||||
|
||||
|
||||
# Check registrations
|
||||
for cuid, cuname in server.getRegisteredUsers(tuname).iteritems():
|
||||
for cuid, cuname in server.getRegisteredUsers(tuname).items():
|
||||
if cuname == tuname:
|
||||
ureg = server.getRegistration(cuid)
|
||||
if ureg:
|
||||
msg = "User '%s' was last seen %s UTC" % (tuname,
|
||||
ureg[self.murmur.UserInfo.UserLastActive])
|
||||
|
||||
ureg[self.murmur.UserInfo.UserLastActive])
|
||||
|
||||
self.sendMessage(server, user, message, msg)
|
||||
return
|
||||
|
||||
|
||||
msg = "I don't know who user '%s' is" % tuname
|
||||
self.sendMessage(server, user, message, msg)
|
||||
|
||||
|
||||
|
||||
def userConnected(self, server, state, context = None): pass
|
||||
def userDisconnected(self, server, state, context = None): pass
|
||||
def userStateChanged(self, server, state, context = None): pass
|
||||
|
||||
def channelCreated(self, server, state, context = None): pass
|
||||
def channelRemoved(self, server, state, context = None): pass
|
||||
def channelStateChanged(self, server, state, context = None): pass
|
||||
def userConnected(self, server, state, context=None):
|
||||
pass
|
||||
|
||||
def userDisconnected(self, server, state, context=None):
|
||||
pass
|
||||
|
||||
def userStateChanged(self, server, state, context=None):
|
||||
pass
|
||||
|
||||
def channelCreated(self, server, state, context=None):
|
||||
pass
|
||||
|
||||
def channelRemoved(self, server, state, context=None):
|
||||
pass
|
||||
|
||||
def channelStateChanged(self, server, state, context=None):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user