summaryrefslogtreecommitdiff
path: root/modules/commands/ns_group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands/ns_group.cpp')
-rw-r--r--modules/commands/ns_group.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/commands/ns_group.cpp b/modules/commands/ns_group.cpp
index 9c54ab815..04842b3e3 100644
--- a/modules/commands/ns_group.cpp
+++ b/modules/commands/ns_group.cpp
@@ -313,14 +313,25 @@ class CommandNSGList : public Command
ListFormatter list(source.GetAccount());
list.AddColumn(_("Nick")).AddColumn(_("Expires"));
- time_t nickserv_expire = Config->GetModule("nickserv")->Get<time_t>("expire");
+ time_t nickserv_expire = Config->GetModule("nickserv")->Get<time_t>("expire", "21d"),
+ unconfirmed_expire = Config->GetModule("nickserv")->Get<time_t>("unconfirmedexpire", "1d");
for (unsigned i = 0; i < nc->aliases->size(); ++i)
{
const NickAlias *na2 = nc->aliases->at(i);
+ Anope::string expires;
+ if (na2->HasExt("NS_NO_EXPIRE"))
+ expires = "Does not expire";
+ else if (!nickserv_expire || Anope::NoExpire)
+ ;
+ else if (na2->nc->HasExt("UNCONFIRMED") && unconfirmed_expire)
+ expires = Anope::strftime(na2->time_registered + unconfirmed_expire, source.GetAccount());
+ else
+ expires = Anope::strftime(na2->last_seen + nickserv_expire, source.GetAccount());
+
ListFormatter::ListEntry entry;
entry["Nick"] = na2->nick;
- entry["Expires"] = (na2->HasExt("NS_NO_EXPIRE") || !nickserv_expire || Anope::NoExpire) ? "Does not expire" : Anope::strftime(na2->last_seen + nickserv_expire, source.GetAccount());
+ entry["Expires"] = expires;
list.AddEntry(entry);
}