Menu

Feature request: NickServ support

Help
2000-02-03
2003-02-09
  • Lazarus Long

    Lazarus Long - 2000-02-03

    [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?

     
    • Lazarus Long

      Lazarus Long - 2000-02-03

      I'll break the above into followup messages, for readability.

       
      • Lazarus Long

        Lazarus Long - 2000-02-03

        [Do feature requests go here in Help or in Open Discussion? heh]

        Feature request: NickServ support, for those networks that support it.

         
      • Lazarus Long

        Lazarus Long - 2000-02-03

        Basic Functionality: /msg $nickserv-nick identify $ns-password

         
      • Lazarus Long

        Lazarus Long - 2000-02-03

        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.)

         
      • Lazarus Long

        Lazarus Long - 2000-02-03

        Advanced Functionality: /msg $nickserv-nick identify $ns-password-for-network

         
      • Lazarus Long

        Lazarus Long - 2000-02-03

        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.

         
        • Jeremy Muhlich

          Jeremy Muhlich - 2000-02-05

          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?

           
      • Lazarus Long

        Lazarus Long - 2000-02-03

        I've tried to cover all the design issues that I can think of.  Comments?

         
    • Andrew Burke

      Andrew Burke - 2000-02-03

      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...

       
    • Anonymous

      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.

       
    • Elberet

      Elberet - 2003-02-09

      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" />

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.