Skip to content

Commit

Permalink
Merge pull request #721 from thelounge/astorije/whois-idle
Browse files Browse the repository at this point in the history
Add human-readable idle time in whois info
  • Loading branch information
astorije committed Dec 23, 2016
2 parents 0489d0f + da2e286 commit c0fa58a
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 0 deletions.
6 changes: 6 additions & 0 deletions client/views/actions/whois.tpl
Expand Up @@ -33,3 +33,9 @@
is away <i>({{whois.away}})</i>
</div>
{{/if}}
{{#if whois.idle}}
<div>
<span role="button" class="user {{colorClass whois.nick}}" data-name="{{whois.nick}}">{{whois.nick}}</span>
has been idle since {{localetime whois.idleTime}}.
</div>
{{/if}}
1 change: 1 addition & 0 deletions src/client.js
Expand Up @@ -52,6 +52,7 @@ var inputs = [
"raw",
"topic",
"list",
"whois"
].reduce(function(plugins, name) {
var path = "./plugins/inputs/" + name;
var plugin = require(path);
Expand Down
15 changes: 15 additions & 0 deletions src/plugins/inputs/whois.js
@@ -0,0 +1,15 @@
"use strict";

exports.commands = ["whois"];

exports.input = function(network, chan, cmd, args) {
if (args.length === 1) {
// This queries server of the other user and not of the current user, which
// does not know idle time.
// See http://superuser.com/a/272069/208074.
network.irc.raw("WHOIS", args[0], args[0]);
} else {
// Re-assembling the command parsed in client.js
network.irc.raw(`${cmd} ${args.join(" ")}`);
}
};
3 changes: 3 additions & 0 deletions src/plugins/irc-events/whois.js
Expand Up @@ -27,6 +27,9 @@ module.exports = function(irc, network) {
text: "No such nick: " + data.nick
});
} else {
// Absolute datetime in milliseconds since nick is idle
data.idleTime = Date.now() - data.idle * 1000;

msg = new Msg({
type: Msg.Type.WHOIS,
whois: data
Expand Down

0 comments on commit c0fa58a

Please sign in to comment.