1 | exports.command = {
|
2 | name: "who",
|
3 | autoload: true,
|
4 | unloadable: false,
|
5 | min_rank: 0,
|
6 | display: "lets you know who is connected in the talker at this moment",
|
7 | help: "Lets you know who is connected in the talker at this moment.",
|
8 | usage: ".who",
|
9 | weigth: 10,
|
10 |
|
11 |
|
12 | spaces: function(howMany) {
|
13 | ret = "";
|
14 | for (var i = 0; i < howMany; i++) {
|
15 | ret += " ";
|
16 | }
|
17 | return ret;
|
18 | },
|
19 | stringPadding: function(what, howMuch) {
|
20 | return (what + this.spaces(howMuch-1)).substr(0,howMuch);
|
21 | },
|
22 | timeString: function(time) {
|
23 | var hh = Math.floor(time/1000/60/60);
|
24 | var mm = Math.floor((time/1000/60) % 60);
|
25 | return (hh > 9 ? "" + hh : "0" + hh) + ":" + (mm > 9 ? "" + mm : "0" + mm);
|
26 | },
|
27 |
|
28 | execute: function(socket, command, command_access) {
|
29 | var chalk = require('chalk');
|
30 | var connected = 0;
|
31 | var connecting = 0;
|
32 | socket.write(chalk.green("+----------------------------------------------------------------------------+\r\n"));
|
33 | socket.write(chalk.cyan(" Current users on " + chalk.magenta(command_access.talkername) + " at " + chalk.bold(new Date().toLocaleDateString()) +", " + chalk.bold(new Date().toLocaleTimeString()) +"\r\n"));
|
34 | socket.write(chalk.green("+----------------------------------------------------------------------------+\r\n"));
|
35 | socket.write(chalk.green(" Name") + chalk.blue(" Description") + chalk.yellow(" Rank") + chalk.magenta(" Where") + chalk.cyan(" Time/Idle \r\n"));
|
36 | socket.write(chalk.green("+----------------------------------------------------------------------------+\r\n"));
|
37 | for (var i = 0; i < command_access.sockets.length; i++) {
|
38 | if ((typeof command_access.sockets[i].loggedin === 'undefined') || !command_access.sockets[i].loggedin ){
|
39 | connecting++;
|
40 | } else {
|
41 | connected++;
|
42 | socket.write(
|
43 | " " + this.stringPadding(command_access.sockets[i].username, 16) +
|
44 | " " + this.stringPadding((typeof command_access.sockets[i].db.desc !== "undefined") ? command_access.sockets[i].db.desc : "has no .desc yet!", 18)+
|
45 | " " + this.stringPadding(command_access.ranks.list[command_access.sockets[i].db.rank], 14) +
|
46 | " " + this.stringPadding(command_access.getUniverse().get(command_access.sockets[i].db.where).name, 8) +
|
47 | " " + this.timeString(Date.now() - command_access.sockets[i].db.loginTime) + "/" + this.timeString(Date.now() - command_access.sockets[i].activityTime) +
|
48 | "\r\n");
|
49 | }
|
50 | }
|
51 | socket.write(chalk.green("+----------------------------------------------------------------------------+\r\n"));
|
52 | socket.write(chalk.cyan(" Total of " + chalk.bold(connected) + " connected users")); if (connecting > 0) { socket.write(chalk.cyan(" and " + chalk.bold(connecting) + " still connecting")); }
|
53 | socket.write(chalk.green("\r\n+----------------------------------------------------------------------------+\r\n"));
|
54 | }
|
55 | }
|