From 905ced9485cfd8cbec0eb7eef525af3bbe136de6 Mon Sep 17 00:00:00 2001 From: reality Date: Thu, 4 Sep 2014 09:51:39 +0000 Subject: [PATCH] add merge users command and fix up strings --- modules/users/api.js | 4 +++ modules/users/commands.js | 56 +++++++++++++++++++++++++++----------- modules/users/strings.json | 40 +++++++++++---------------- modules/users/users.js | 4 +++ 4 files changed, 64 insertions(+), 40 deletions(-) diff --git a/modules/users/api.js b/modules/users/api.js index 86f48be..1e25abb 100644 --- a/modules/users/api.js +++ b/modules/users/api.js @@ -63,3 +63,7 @@ var api = function(dbot) { } }; }; + +exports.fetch = function(dbot) { + return api(dbot); +}; diff --git a/modules/users/commands.js b/modules/users/commands.js index 7f1e877..82e2445 100644 --- a/modules/users/commands.js +++ b/modules/users/commands.js @@ -9,26 +9,26 @@ var commands = function(dbot) { this.api.getUserAliases(user.id, function(err, aliases) { var including = _.first(aliases, 10).join(', '); - if(nick === user.primaryNick) { - if(aliases.length === 0) { - event.reply(dbot.t('primary_no_alias', { - 'user': user.primaryNick, - 'currentNick': user.currentNick - })); - } else { - event.reply(dbot.t('primary', { - 'user': user.primaryNick, - 'currentNick': user.currentNick, - 'count': aliases.length, - 'including': including - })); - } - } else { + if(nick !== user.primaryNick) { event.reply(dbot.t('alias', { 'alias': nick, 'user': user.primaryNick })); } + + if(aliases.length === 0) { + event.reply(dbot.t('primary_no_alias', { + 'user': user.primaryNick, + 'currentNick': user.currentNick + })); + } else { + event.reply(dbot.t('primary', { + 'user': user.primaryNick, + 'currentNick': user.currentNick, + 'count': aliases.length, + 'including': including + })); + } }); } else { event.reply(dbot.t('unknown_alias', { 'alias': nick })); @@ -69,7 +69,7 @@ var commands = function(dbot) { if(user) { if(user.primaryNick !== newPrimary) { this.internalAPI.reparentUser(user, newPrimary, function() { - event.reply(dbot.t('aliasparentset', { + event.reply(dbot.t('alias_parent_set', { 'newParent': newPrimary, 'newAlias': user.primaryNick })); @@ -98,6 +98,30 @@ var commands = function(dbot) { event.reply(dbot.t('unknown_alias', { 'alias': nick })); } }); + }, + + '~mergeusers': function(event) { + var oldNick = event.params[1], + newNick = event.params[2]; + + this.api.resolveUser(event.server, oldNick, function(err, oldUser) { + if(oldUser) { + this.api.resolveUser(event.server, newNick, function(err, newUser) { + if(newUser) { + this.internalAPI.mergeUsers(oldUser, newUser, function() { + event.reply(dbot.t('merged_users', { + 'old_user': secondaryUser, + 'new_user': primaryUser + })); + }); + } else { + event.reply(dbot.t('unknown_alias', { 'alias': newNick })); + } + }.bind(this)); + } else { + event.reply(dbot.t('unknown_alias', { 'alias': oldNick })); + } + }.bind(this)); } }; this.commands['~setaliasparent'].access = 'moderator'; diff --git a/modules/users/strings.json b/modules/users/strings.json index 1a95747..a6b43fa 100644 --- a/modules/users/strings.json +++ b/modules/users/strings.json @@ -8,22 +8,23 @@ "fr": "{alias} est un alias de {user}", "it": "{alias} è un alias di {user}" }, - "added_mobile_alias": { - "en": "{alias} added as a mobile alias.", - "de": "{alias} als mobiler Benutzer hinzugefügt." - }, - "already_mobile": { - "en": "{alias} is already a mobile alias.", - "de": "{alias} ist bereits ein mobiler Benutzer." - }, "primary": { - "en": "{user} (currently {currentNick}) is a primary user with {count} aliases, ", - "na'vi": "{user} ({currentNick}) lu txin ulte {count}a stxo lu poru, ", - "nl": "{user} ({currentNick}) is een primaire gebruiker met {count} aliassen, ", + "en": "{user} (currently {currentNick}) is a primary user with {count} aliases, including {including}.", + "na'vi": "{user} ({currentNick}) lu txin ulte {count}a stxo lu poru, {including}", + "nl": "{user} ({currentNick}) is een primaire gebruiker met {count} aliassen, {including}", "cy": "Mae {user} ({currentNick}) yn ddefnyddiwr gynradd gyda {count} enwau eraill, ", - "de": "{user} ({currentNick}) ist ein Benutzer mit {count} Nicknamen, ", - "fr": "{user} (actuellement {currentNick}) est un utilisateur primaire avec {count} alias, ", - "it": "{user} (attualmente {currentNick}) è un utente primario con {count} alias, " + "de": "{user} ({currentNick}) ist ein Benutzer mit {count} Nicknamen, {including}", + "fr": "{user} (actuellement {currentNick}) est un utilisateur primaire avec {count} alias, {including}", + "it": "{user} (attualmente {currentNick}) è un utente primario con{count} alias, {including}" + }, + "primary_no_alias": { + "en": "{user} (currently {currentNick}) is a primary user.", + "na'vi": "{user} ({currentNick}) lu txin ulte", + "nl": "{user} ({currentNick}) is een primaire gebruiker", + "cy": "Mae {user} ({currentNick}) yn ddefnyddiwr gynradd", + "de": "{user} ({currentNick}) ist ein Benutzer", + "fr": "{user} (actuellement {currentNick}) est un utilisateur primaire", + "it": "{user} (attualmente {currentNick}) è un utente primario" }, "unknown_alias": { "en": "{alias} does not currently exist as an alias or known user.", @@ -39,7 +40,7 @@ "de": "Alias {alias} von {primary} entfernt.", "it": "Tolto alias {alias} da {primary}." }, - "aliasparentset": { + "alias_parent_set": { "en": "{newParent} is now the parent user, and {newAlias} is an alias.", "na'vi": "{newParent} lu sa'sem set ulte {newAlias} lu stxo set nìteng.", "cy": "Mae {newParent} ydy defnyddiwr rhiant nawr, a {alias} ydy enw arall.", @@ -48,15 +49,6 @@ "fr": "{newParent} est maintenant le même utilisateur parent, et {newAlias} est un alias.", "it": "{newParent} è adesso l' utente genitore e {newAlias} è un alias." }, - "unprimary_error": { - "en": "{nick} isn't recorded as a primary user.", - "na'vi": "fo sute txin ke lu.", - "cy": "Nid yw un o'r defnyddwyr hynny yn cael ei gofnodi ar hyn o bryd fel defnyddiwr gynradd.", - "nl": "Een van deze gebruikers is nog niet bekend als een primaire gebruiker.", - "de": "Einer dieser Benutzer ist nicht als Hauptbenutzer gespeichert.", - "fr": "{nick} n'est pas enregistré en tant qu'utilisateur primaire.", - "it": "{nick} non è registrato come utente principale." - }, "merged_users": { "en": "{old_user} and their aliases have been merged into {new_user}.", "na'vi": "{old_user} ulte stxo alahe {new_user} lu set.", diff --git a/modules/users/users.js b/modules/users/users.js index 382a00b..7fae6ca 100644 --- a/modules/users/users.js +++ b/modules/users/users.js @@ -140,3 +140,7 @@ var users = function(dbot) { }); }.bind(this); }; + +exports.fetch = function(dbot) { + return new users(dbot); +};