UserAccess Klasse Feedback
Mit einer Instanz von UserAccess kann eine App auf User zugreifen, die bereits einmal im Channel waren, als die App lief. Für alle nicht zugreifbaren User kann man via UserAccess den korrekt geschriebenen Nicknamen erhalten.
Die Instanz für die UserAccess
erhält man über das KnuddelsServer-Objekt
mit KnuddelsServer.getUserAccess()
Übersicht
Methoden
eachAccessibleUser Feedback
-
callback
-
[parameters]
Loopt über alle zugreifbaren User sortiert nach Registrierzeitpunkt und führt für jeden User das übergebene Callback aus.
Parameter:
Beispiel:
var birthdayMailCount = 0;
var parameters = {
onStart: function(accessibleUserCount)
{
KnuddelsServer.getDefaultLogger().info('Starte Geburtstagsmails.');
},
onEnd: function(accessibleUserCount)
{
KnuddelsServer.getDefaultLogger().info('Ende Geburtstagsmails: ' + birthdayMailCount);
}
};
userAccess.eachAccessibleUser(function(user, index, accessibleUserCount)
{
const kAgeYesterday = 'ageYesterday';
var userPersistence = user.getPersistence();
var ageYesterday = userPersistence.getNumber(kAgeYesterday, 0);
var ageToday = user.getAge();
var ageChanged = ageToday != ageYesterday;
if (ageChanged)
{
var topic = 'Alles Gute zum Geburtstag';
var text = 'Hey! Zu deinem Ehrentag wünschen wir dir alles Gute!';
user.sendPostMessage(topic, text);
userPersistence.setNumber(kAgeYesterday, ageToday);
birthdayMailCount++;
}
}, parameters);
exists Feedback
-
nick
Informiert darüber, ob ein Nutzer mit dem übergebenen Nicknamen existiert.
Parameter:
-
nick
String
Rückgabewert:
true
, falls ein User mit diesem Nick existiert, false
andernfalls
Beispiel:
var nick = 'Ironist';
var userAccess = KnuddelsServer.getUserAccess();
var userExists = userAccess.exists(nick);
getNick Feedback
-
userId
Liefert den Nicknamen des Nutzers mit der übergebenen userId in der korrekten Schreibweise.
Parameter:
-
userId
Number
Beispiel:
var nick = 'IrOniSt';
var userAccess = KnuddelsServer.getUserAccess();
if (userAccess.exists(nick))
{
var userId = userAccess.getUserId(nick);
if (userAccess.mayAccess(userId))
{
var user = userAccess.getUserById(userId); // Ironist as user
}
else
{
var correctNick = userAccess.getNick(userId); // 'Ironist'
}
}
getUserById Feedback
-
userId
Liefert den Nutzer mit der übergebenen userId. Neben dem AppDeveloper können nur Nutzer geladen werden, die sich einmal im Channel befanden, als die App lief. Es wird empfohlen vor der
Abfrage von getUserById(userId)
mit mayAccess abzufragen, ob dies funktionieren wird.
Parameter:
-
userId
Number
Rückgabewert:
User, der die übergebene userId besitzt
Beispiel:
var nick = 'Ironist';
var userAccess = KnuddelsServer.getUserAccess();
if (userAccess.exists(nick))
{
var userId = userAccess.getUserId(nick);
if (userAccess.mayAccess(userId))
{
var user = userAccess.getUserById(userId);
}
}
getUserId Feedback
-
nick
Liefert die userId des Nutzers mit dem übergebenen Nicknamen.
Parameter:
-
nick
String
Rückgabewert:
userId des Users mit dem angegebenen Nick
Beispiel:
var nick = 'Ironist';
var userAccess = KnuddelsServer.getUserAccess();
if (userAccess.exists(nick))
{
var userId = userAccess.getUserId(nick);
}
mayAccess Feedback
-
userId
Informiert darüber, ob der Nutzer mit der übergebenen userId geladen werden darf. Neben dem AppDeveloper können nur Nutzer geladen werden, die sich einmal im Channel befanden, als die App lief.
Parameter:
-
userId
Number
Rückgabewert:
true
, falls der Nutzer mit getUserById geladen werden darf, false
andernfalls
Beispiel:
var nick = 'Ironist';
var userAccess = KnuddelsServer.getUserAccess();
if (userAccess.exists(nick))
{
var userId = userAccess.getUserId(nick);
if (userAccess.mayAccess(userId))
{
// Der User ist zugreifbar...
}
}