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
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