From 8d103256e7f29d892d040ec25a38b2cb56e7f942 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Wed, 6 Mar 2019 22:31:51 +0100 Subject: [PATCH] Discord id in +user --- Commands/Usermgm.pm | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/Commands/Usermgm.pm b/Commands/Usermgm.pm index 8dda53a..5866f91 100644 --- a/Commands/Usermgm.pm +++ b/Commands/Usermgm.pm @@ -25,29 +25,36 @@ use MooseX::Declare; use NDIRC::Dispatcher; command '+user' => { - help => q(syntax: .+user username [pnick] | username must be alphanum characters, if no pnick is given then it will be set to the same as username), + help => q(syntax: .+user username id | username must be alphanum characters, assumes discord id if it ends with #XXXX otherwise pnick), type => q(usermgmt), acl => 'irc_adduser' }, class extends NDIRC::Command { method execute ($c,$msg) { - my ($nick,$pnick) = $msg =~ /^(\w+)(?: ([^.\s]+))?$/ or die 'ARGS'; - $pnick //= $nick; + my ($nick,$id) = $msg =~ /^(\w+) (.+)$/ or die 'ARGS'; my $dbh = $c->model; - - my $host = "$pnick.users.netgamers.org"; - my ($username,$hostname,$p_nick) = $dbh->selectrow_array(q{ -SELECT username, hostmask,pnick -FROM users WHERE username = $1 OR hostmask = $2 OR pnick = $3 - },undef,$nick,$host,$pnick); + my $pnick = undef; + my $discordid = undef; + my $host = undef; + + if ($id =~ /.+#\d+/) { + $discordid = $id; + } else { + $pnick = $id; + $host = "$pnick.users.netgamers.org"; + } + my ($username,$hostname,$p_nick,$discord_id) = $dbh->selectrow_array(q{ +SELECT username, hostmask,pnick,discord_id +FROM users WHERE username = $1 OR hostmask = $2 OR pnick = $3 OR discord_id = $4 + },undef,$nick,$host,$pnick,$discordid); if (defined $username){ - $c->reply("$username ($p_nick) already exists with host: $hostname"); + $c->reply("$username ($p_nick, $discord_id) already exists with host: $hostname"); }else{ $dbh->do(q{ -INSERT INTO users (username,hostmask,pnick) VALUES($1,$2,$3) - },undef,$nick,$host,$pnick); - $c->reply("Added $nick(/$pnick) with host: $host"); +INSERT INTO users (username,hostmask,pnick,discord_id) VALUES($1,$2,$3,$4) + },undef,$nick,$host,$pnick,$discordid); + $c->reply("Added $nick(/$id)"); } } }; -- 2.39.2