예제 #1
0
def on_packet(packet, user_obj, to_server):
	if packet.name() == 'Chat message' and not to_server:
		prefs = users.get(user_obj.username, defaults)
		offlines = dict([(user, prefs['inactive']) for user in all_users()])
		onlines = dict([(user, prefs['active']) for user in active_users()])
		ops_dict = dict([(user, prefs['ops']) for user in ops()])
		player = {user_obj.username: prefs['me']}
		names = {}
		names.update(offlines)
		names.update(onlines)
		names.update(ops_dict)
		names.update(player)
		packet.data['text'] = prefs['all'] + packet.data['text']
		for name in names:
			packet.data['text'] = packet.data['text'].replace(name, names[name] + name + prefs['all'])
	return packet
예제 #2
0
def on_packet(packet, user_obj, to_server):
	if packet.name() == 'Chat message' and not to_server:
		prefs = users.get(user_obj.username, defaults)
		offlines = dict([(user, prefs['inactive']) for user in all_users()])
		onlines = dict([(user, prefs['active']) for user in active_users()])
		ops_dict = dict([(user, prefs['ops']) for user in ops()])
		player = {user_obj.username: prefs['me']}
		names = {}
		names.update(offlines)
		names.update(onlines)
		names.update(ops_dict)
		names.update(player)
		s = prefs['all'] + packet.data['text']
		for name in names:
			i = 0
			while i < len(s):
				if s[i:i+len(name)].lower() == name:
					s = s[:i] + names[name] + s[i:i+len(name)] + prefs['all'] + s[i+len(name):]
					i += len(name)
				else:
					i += 1
		if len(s) <= MAX_CHAT_LENGTH: # Do nort replace if overlength
			packet.data['text'] = s
	return packet