-
Notifications
You must be signed in to change notification settings - Fork 23
/
admins.js
28 lines (21 loc) · 849 Bytes
/
admins.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// (c) 2015 Richard Carter
// This code is licensed under the MIT license; see LICENSE.txt for details.
// The admins library keeps track of administrative users. It should be used
// sparingly in scripts; prefer the "listen_admin" sandbox function for
// defining commands that can only be used by admins.
// TODO: Track the user better. Nickname is not a reliable indicator of a user,
// easy to impersonate (even if only for a short time thanks to NickServ guard)
var db = require('./listdb').getDB('admins');
exports.is = function (nickname) {
return db.hasValue(nickname, true);
}
exports.add = function (nickname) {
db.add(nickname);
}
exports.remove = function (nickname) {
db.remove(nickname, true);
}
// Returns list of admins as a comma-separated string
exports.list = function () {
return db.getAll().join(",");
};