Rationale: Some channels require users to identify with nickserv before
allowing /join. This should be performed after server
connection but before joining channels. (Some channels are
configured with ChanServ to only allow clients which are
registered and have identified with password to join.)
Config Items: In the above, $nickserv-nick is usually NickServ, but can
vary depending on target network. Therefore this should be
in the config file rather than hardcoded. The password for
nickserv ($ns-password) should obviously be configurable,
but may not be the same on all networks. This should
probably be a per-server value, until per-network support
is actually in place. $ns-password-for-network above
represents this value, but for now perhaps it should read
$ns-password-for-server? If the servers are all on the
same network, this would cause redundancy in the config
file and may cause user complaints, if that is a concern.
But if per-network support isn't imminent, this would be
the only way to handle it.
I've tried to cover all the design issues that I can think of. Comments?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Rationale: Some channels require users to identify with nickserv before
allowing /join. This should be performed after server
connection but before joining channels. (Some channels are
configured with ChanServ to only allow clients which are
registered and have identified with password to join.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Config Items: In the above, $nickserv-nick is usually NickServ, but can
vary depending on target network. Therefore this should be
in the config file rather than hardcoded. The password for
nickserv ($ns-password) should obviously be configurable,
but may not be the same on all networks. This should
probably be a per-server value, until per-network support
is actually in place. $ns-password-for-network above
represents this value, but for now perhaps it should read
$ns-password-for-server? If the servers are all on the
same network, this would cause redundancy in the config
file and may cause user complaints, if that is a concern.
But if per-network support isn't imminent, this would be
the only way to handle it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've read the other things, and the best way to attack this, i think, since it's not part of the irc rfc, and is a secondary service is to write a plugin:
the plugin should catch the end_of_motd (or whatever it's called) event and then do what you've specified. It should probably use its own config file, unless luke and jeremy feel different (and I don't totally understand some of the gperlbotcfg stuff, so maybe that makes this easy without cluttering the main config file)
should be a relatively simplistic plugin...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2002-01-30
Hi, is there any development on nickserv support is has been added to plugin dev. in august 2000?
I'm running the bot in a pvt channel on dalnet with the need for a simple bot to log conversation for a chat event in februari, to make the bot differ from users it needs to have @ but chanserv only sets aop to nickserv approved nicks, please help the event is in a month and coding my self is not working to well :-) For the rest a great bot why simple... it is simple and does it job without the many so often useless added functions in other bots.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've written a tiny plugin that does just what you want. It's geared towards GamesNET and srvx tho and needs minor adjustmetns to work on Nickserv driven networks.
(Also, the "Register" umode and AuthServ command are hard coded. This should probably be avoided.)
---
package Perlbot::Plugin::Authserv;
use Perlbot::Plugin;
@ISA = qw(Perlbot::Plugin);
sub init {
my $self = shift;
$self->hook_event("nomotd", \&onconnect);
$self->hook_event("endofmotd", \&onconnect);
}
sub onconnect {
my $self = shift;
my $event = shift;
my $service = $self->perlbot->config->value(authserv => 'service');
my $handle = $self->perlbot->config->value(authserv => 'handle');
my $password = $self->perlbot->config->value(authserv => 'password');
$self->perlbot->msg($service, join(' ', 'AUTH', $handle, $password));
$self->perlbot->mode($self->perlbot->curnick, '+ix');
}
---
In order to make it work, you need to add this line to the config file:
[Do feature requests go here in Help or in Open Discussion? heh]
Feature request: NickServ support, for those networks that support it.
Basic Functionality: /msg $nickserv-nick identify $ns-password
Rationale: Some channels require users to identify with nickserv before
allowing /join. This should be performed after server
connection but before joining channels. (Some channels are
configured with ChanServ to only allow clients which are
registered and have identified with password to join.)
Advanced Functionality: /msg $nickserv-nick identify $ns-password-for-network
Config Items: In the above, $nickserv-nick is usually NickServ, but can
vary depending on target network. Therefore this should be
in the config file rather than hardcoded. The password for
nickserv ($ns-password) should obviously be configurable,
but may not be the same on all networks. This should
probably be a per-server value, until per-network support
is actually in place. $ns-password-for-network above
represents this value, but for now perhaps it should read
$ns-password-for-server? If the servers are all on the
same network, this would cause redundancy in the config
file and may cause user complaints, if that is a concern.
But if per-network support isn't imminent, this would be
the only way to handle it.
I've tried to cover all the design issues that I can think of. Comments?
I'll break the above into followup messages, for readability.
[Do feature requests go here in Help or in Open Discussion? heh]
Feature request: NickServ support, for those networks that support it.
Basic Functionality: /msg $nickserv-nick identify $ns-password
Rationale: Some channels require users to identify with nickserv before
allowing /join. This should be performed after server
connection but before joining channels. (Some channels are
configured with ChanServ to only allow clients which are
registered and have identified with password to join.)
Advanced Functionality: /msg $nickserv-nick identify $ns-password-for-network
Config Items: In the above, $nickserv-nick is usually NickServ, but can
vary depending on target network. Therefore this should be
in the config file rather than hardcoded. The password for
nickserv ($ns-password) should obviously be configurable,
but may not be the same on all networks. This should
probably be a per-server value, until per-network support
is actually in place. $ns-password-for-network above
represents this value, but for now perhaps it should read
$ns-password-for-server? If the servers are all on the
same network, this would cause redundancy in the config
file and may cause user complaints, if that is a concern.
But if per-network support isn't imminent, this would be
the only way to handle it.
Perhaps the redundancy issue could be handled with config objects for the NickServ plugin that look like:
pass {
password mypass
server server1name
server server2name
}
So you would set up a "pass" object with a password field and a list of the servers that use expect that password. How does that sound?
I've tried to cover all the design issues that I can think of. Comments?
I've read the other things, and the best way to attack this, i think, since it's not part of the irc rfc, and is a secondary service is to write a plugin:
the plugin should catch the end_of_motd (or whatever it's called) event and then do what you've specified. It should probably use its own config file, unless luke and jeremy feel different (and I don't totally understand some of the gperlbotcfg stuff, so maybe that makes this easy without cluttering the main config file)
should be a relatively simplistic plugin...
Hi, is there any development on nickserv support is has been added to plugin dev. in august 2000?
I'm running the bot in a pvt channel on dalnet with the need for a simple bot to log conversation for a chat event in februari, to make the bot differ from users it needs to have @ but chanserv only sets aop to nickserv approved nicks, please help the event is in a month and coding my self is not working to well :-) For the rest a great bot why simple... it is simple and does it job without the many so often useless added functions in other bots.
I've written a tiny plugin that does just what you want. It's geared towards GamesNET and srvx tho and needs minor adjustmetns to work on Nickserv driven networks.
(Also, the "Register" umode and AuthServ command are hard coded. This should probably be avoided.)
---
package Perlbot::Plugin::Authserv;
use Perlbot::Plugin;
@ISA = qw(Perlbot::Plugin);
sub init {
my $self = shift;
$self->hook_event("nomotd", \&onconnect);
$self->hook_event("endofmotd", \&onconnect);
}
sub onconnect {
my $self = shift;
my $event = shift;
my $service = $self->perlbot->config->value(authserv => 'service');
my $handle = $self->perlbot->config->value(authserv => 'handle');
my $password = $self->perlbot->config->value(authserv => 'password');
$self->perlbot->msg($service, join(' ', 'AUTH', $handle, $password));
$self->perlbot->mode($self->perlbot->curnick, '+ix');
}
---
In order to make it work, you need to add this line to the config file:
<authserv service="AuthServ@your.favorite.net" handle="Bothandle" password="secret" />