Auth level 3 is not being removed when they change teams for some reason. Any ideas why? Code (text): ({ beforeChangeTeam: function(src){ if (sys.ip(src) == "127.0.0.1"){ this.ownerremove(src); } } , afterChangeTeam: function (src){ if (sys.ip(src) == "127.0.0.1"){ this.owneradd(src); } } , owneradd: function(src){ if (typeof(ownername) == "undefined"){ sys.changeAuth(src, 3); ownername = sys.name(src); } } , ownerremove: function(src){ if (ownername == sys.name(src)){ sys.changeAuth(src, 0); delete ownername; } } })
I think beforeChangeTeam is not perfect, it has some data that the user would have in afterChangeTeam.
if (message.toLowerCase().indexOf(' changed their team, and their name to ') != -1) { var eventsrc = new Array(); eventsrc = message.split(' changed their team, and their name to '); this.beforeTeamChange(sys.id(eventsrc[0]),eventsrc[1]);
I got around this by using sys.changeAuth(src, 1), followed by sys.changeAuth(src, 0) - instead of directly using sys.changeAuth(src, 0).