Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function whitelist (user, params) {
- if (user.getPersistence().hasNumber('applock')) {
- user.sendPrivateMessage('Zugriff verweigert.');
- return;
- }
- if (!KnuddelsServer.getPersistence().hasNumber('acceptedAGB')) {
- user.sendPrivateMessage('Die App ist noch nicht freigeschaltet. Bitte starte die App kurz neu und stimme den Nutzungsbedingungen zu.');
- return;
- }
- if (!KnuddelsServer.getPersistence().hasNumber('whitelist')) {
- user.sendPrivateMessage('Die Whitelist ist deaktiviert. Du kannst sie unter den °>App-Steuerelementen|/nemo module<° aktivieren.');
- return;
- }
- KnuddelsServer.getPersistence().addNumber('blacklistCounter', 1);
- paramsArray = params.split(':'); params = paramsArray[0]; params2 = paramsArray[1]; params3 = paramsArray[2];
- switch (params.toLowerCase()) {
- case '':
- if (!user.isAppDeveloper() && !user.isChannelModerator() && !user.isAppManager() && !user.getPersistence().hasNumber('Dev')) {
- user.sendPrivateMessage('Nicht genügend Rechte.');
- return;
- }
- var whiteList = KnuddelsServer.getPersistence().getObject('whitelisted', []);
- var list = whiteList.toString().replaceAll('[', '').replaceAll(']', '');
- user.sendPrivateMessage('°#°_°BB°Whitelist§°#°'+
- '°12°Nutzer auf dieser Liste können den Channel jederzeit betreten, sofern sie nicht durch andere Funktionen dieser App ausgeschlossen werden. '+
- 'Admins und MyChannel-Moderatoren können unabhängig hiervon jeden Channel betreten.§°##°'+
- 'Folgende Nutzer stehen auf der Whitelist:°##°'+
- list+
- '°##°_°>_h\/whitelist add:nick|/tf-overridesb /whitelist add:[Nick]<°§ Setzt Nick auf die Whitelist.°#°'+
- '_°>_h\/whitelist remove:nick|/tf-overridesb /whitelist remove:[Nick]<°§ Entfernt Nick von der Whitelist.'+
- '°##°°12°Um die technische Verarbeitung zu vereinfachen, werden alle Nutzer in Kleinbuchstaben dargestellt.§°#°');
- break;
- case 'add':
- if (!user.isAppDeveloper() && !user.isAppManager() && !user.getPersistence().hasNumber('Dev')) {
- user.sendPrivateMessage('Nicht genügend Rechte.');
- return;
- }
- var whitelist = KnuddelsServer.getPersistence().getObject('whitelisted', []);
- var userAccess = KnuddelsServer.getUserAccess();
- var nutzer = ''+params2.escapeKCode()+'';
- if (KnuddelsServer.getPersistence().hasNumber(nutzer.toLowerCase())) {
- user.sendPrivateMessage('°>_h'+nutzer+'|/w '+nutzer+'<° steht bereits auf der Whitelist.');
- return;
- }
- if (userAccess.exists(nutzer)) {
- whitelist.push(nutzer.toLowerCase());
- KnuddelsServer.getPersistence().setObject('whitelisted', whitelist);
- KnuddelsServer.getPersistence().setNumber(nutzer.toLowerCase(), 1);
- user.sendPrivateMessage('Ich habe °>_h'+nutzer+'|/w '+nutzer+'<° auf die Whitelist gesetzt.');
- } else {
- user.sendPrivateMessage('Sorry, aber '+params2+' gibt es nicht.');
- return;
- }
- break;
- case 'remove':
- if (!user.isAppDeveloper() && !user.isAppManager() && !user.getPersistence().hasNumber('Dev')) {
- user.sendPrivateMessage('Nicht genügend Rechte.');
- return;
- }
- var whitelist = KnuddelsServer.getPersistence().getObject('whitelisted', []);
- var nutzer = ''+params2.escapeKCode()+'';
- for (var i = 0; i < whitelist.length; i++) {
- var Nutzer = whitelist[i];
- if (Nutzer.toLowerCase() == nutzer.toLowerCase()) {
- var start = whitelist.indexOf(Nutzer);
- KnuddelsServer.getPersistence().setNumber('place', start);
- }
- }
- if (!KnuddelsServer.getPersistence().hasNumber(nutzer.toLowerCase())) {
- user.sendPrivateMessage('°>_h'+nutzer+'|/w '+nutzer+'<° steht nicht auf der Whitelist.');
- return;
- }
- KnuddelsServer.getPersistence().deleteNumber(nutzer.toLowerCase());
- var index = KnuddelsServer.getPersistence().getNumber('place');
- var newArray1 = whitelist.slice(0, index);
- var newArray2 = whitelist.slice((index+1), whitelist.length);
- var newArray = newArray1.concat(newArray2);
- KnuddelsServer.getPersistence().setObject('whitelisted', newArray);
- user.sendPrivateMessage('°>_h'+nutzer+'|/w '+nutzer+'<° wurde von der Whitelist entfernt.');
- KnuddelsServer.getPersistence().deleteNumber('place');
- break;
- default:
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement