- when(/^logout$/i){
- delete $self->{nick_to_username}{$from};
- }
-
- when(/^prefix$/i){
- if (defined $username) {
- $self->{prefix}{$username} = [@args];
- } else {
- $self->{irc}->yield(privmsg => $nick, 'You are not logged in. Say "login your_username your_password" (where your_username and your_password are your login credentials) to login.');
- }
- }
-
- when(/^noprefix$/i){
- if (defined $username) {
- delete $self->{prefix}{$username}
- } else {
- $self->{irc}->yield(privmsg => $nick, 'You are not logged in. Say "login your_username your_password" (where your_username and your_password are your login credentials) to login.');
- }
- }
-
- default {
- if (defined $username) {
- $ok_user_addresses{"$username $address"}=1;
- $self->{log}->debug("Command $cmd @args from $username");
- if (exists $self->{prefix}{$username}) {
- sendmsg $username, undef, $address, @{$self->{prefix}{$username}}, $cmd, @args;
+ if ($@) {
+ $self->{log}->debug("Login for $user failed");
+ $self->{irc}->yield(privmsg => $nick, 'Bad username/password combination');
+ } else {
+ $self->{log}->debug("Login for $user succeded");
+ $self->{nick_to_username}{$from} = $user;
+ $self->{irc}->yield(privmsg => $nick, "Logged in as $user");
+ }
+ } elsif (/^logout$/i){
+ delete $self->{nick_to_username}{$from};
+ } elsif (/^prefix$/i){
+ if (defined $username) {
+ $self->{prefix}{$username} = [@args];
+ } else {
+ $self->{irc}->yield(privmsg => $nick, 'You are not logged in. Say "login your_username your_password" (where your_username and your_password are your login credentials) to login.');
+ }
+ } elsif (/^noprefix$/i){
+ if (defined $username) {
+ delete $self->{prefix}{$username}