Hallo, seit einigen Tagen versuche ich eine Blacklist zu basteln, nun hab ich es soweit schon hinbekommen aber ich weiß nicht, wie ich per /befehl (Persistence) jemand dieser Liste hinzufügen oder wieder entferne. Also so im großen weiß ich schon wie das geht aber ich weiß nicht wie ich die beiden chatCommands dazu aufbauen soll.

Ich will folgende commands:

/addblacklist NICKNAME
/removeblacklist NICKNAME

ich hab nun schon seit mehreren Stunden versucht die Commands zu basteln, soweit funktionieren diese (es kommt eine Ausgabe) aber mehr passiert auch nicht außer Bot (privat): NICKNAME wurde der Liste hinzugefügt. Bot (privat): NICKNAME wurde von der Liste gelöscht. Jedoch kann ich egal was ich mache, immer noch mit dem Nick in den Channel online, da mein command irgendwie nicht per param den Nick kontrolliert und eine Persistence setzt.

Mein Code ist so aufgebaut:

Code:
this.mayJoinChannel = function(user) {

                               //if (!user.isAppDeveloper() && !user.isChannelModerator()) {
				if (user.getPersistence().getNumber('blacklist') == 1){
				KnuddelsServer.getDefaultLogger().info('DECLINE: ' + user.getNick());

				return ChannelJoinPermission.denied('°RR°_WARTUNGSARBEITEN:_°r°#Derzeit kannst du den _°BB>sm_ehren_01.gif<>|<>_h Channel ' + KnuddelsServer.getChannel().getChannelName() + '|/info ' + KnuddelsServer.getChannel().getChannelName() + '<r°_ nicht betreten, bitte versuche es zu einem späteren Zeitpunkt noch einmal.');
				
			}

			return ChannelJoinPermission.accepted();

		};


Nun weiß ich aber nicht, wie ich die betreffenden chatCommands dazu programmieren soll, da meine JavaScript Fähigkeiten leider alles andere als PRO sind...

Nun habe ich mir mal ein Gerüst der commands gebastelt, welche aber vermutlich total falsch sind :-D

Code:
addblacklist: function(user, param, command) {
		var nick = param;
		var userId = KnuddelsServer.getUserAccess().getUserId(nick);
		var xUser = KnuddelsServer.getUserAccess().getUserById(userId);
		if(!user.isChannelModerator() && !user.isAppManager()  && !user.isAppDeveloper()) {
		xUser.getPersistence().setNumber('blacklist', 1);
		user.sendPrivateMessage('Du hast keine Berechtigung um diese Funktion auszuführen.');
		return;
		}
		if (param.length != 0)
		{
		user.sendPrivateMessage(param+' wurde in die Blacklist °RR°_eingetragen_°r°.');
		}
		else
		{
			user.sendPrivateMessage('Bitte nutze _/addblacklist NICKNAME_!');
		}
	},
	
	removeblacklist: function(user, param, command) {
		var nick = param;
		var userId = KnuddelsServer.getUserAccess().getUserId(nick);
		var xUser = KnuddelsServer.getUserAccess().getUserById(userId);
		if(!user.isChannelModerator() && !user.isAppManager()  && !user.isAppDeveloper()) {
		xUser.getPersistence().deleteNumber('blacklist');
		user.sendPrivateMessage('Du hast keine Berechtigung um diese Funktion auszuführen.');
		return;
		}
		if (param.length != 0)
		{
		user.sendPrivateMessage(param+' wurde aus der Blacklist °G°_ausgetragen_°r°.');
		}
		else
		{
			user.sendPrivateMessage('Bitte nutze _/removeblacklist NICKNAME_!');
		}
	},


Hier kommen auch entsprechende Ausgaben im Chat aber der Nick (param) wird irgendwie nicht kontrolliert und keine Persistence gesetzt... Ich weiß, vermutlich sind die commands total falsch programmiert xD

Ach bevor ich es vergesse und mir wieder einer irgendwas unterstellen will: Ich möchte die Blacklist nur für im Äußersten Notfall und nicht um User bewusst aus dem Channel auszuschließen oder User damit zu ärgern, denunzieren etc.!!