mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-11-04 01:27:21 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			172 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Introduction
 | 
						|
 | 
						|
  Ok, so you've decided to try out Supybot.  That's great!  The more people who
 | 
						|
use Supybot, the more people can submit bugs and help us to make it the best
 | 
						|
IRC bot in the world :)
 | 
						|
 | 
						|
  You should have already read through our install document (if you had to
 | 
						|
manually install) before reading any further.  Now we'll give you a whirlwind
 | 
						|
tour as to how you can get Supybot setup and use Supybot effectively.
 | 
						|
 | 
						|
Initial Setup
 | 
						|
 | 
						|
  Now that you have Supybot installed, you'll want to get it running.  The
 | 
						|
first thing you'll want to do is run supybot-wizard.  Before running
 | 
						|
supybot-wizard, you should be in the directory in which you want your
 | 
						|
bot-related files to reside.  The wizard will walk you through setting up a
 | 
						|
base config file for your Supybot.  Once you've completed the wizard, you will
 | 
						|
have a config file called botname.conf.  In order to get the bot running, run
 | 
						|
'supybot botname.conf'.
 | 
						|
 | 
						|
Listing Commands
 | 
						|
 | 
						|
  Ok, so let's assume your bot connected to the server and joined the channels
 | 
						|
you told it to join.  For now we'll assume you named your bot 'supybot' (you
 | 
						|
probably didn't, but it'll make it much clearer in the examples that follow to
 | 
						|
assume that you did).  We'll also assume that you told it to join #channel (a
 | 
						|
nice generic name for a channel, isn't it? :))  So what do you do with this bot
 | 
						|
that you just made to join your channel?  Try this in the channel::
 | 
						|
 | 
						|
    supybot: list
 | 
						|
 | 
						|
  Replacing 'supybot' with the actual name you picked for your bot, of course.
 | 
						|
Your bot should reply with a list of the plugins he currently has loaded.  At
 | 
						|
least Admin, Channel, Config, Misc, Owner, and User should be there; if you
 | 
						|
used supybot-wizard to create your configuration file you may have many more
 | 
						|
plugins loaded.  The list command can also be used to list the commands in a
 | 
						|
given plugin::
 | 
						|
 | 
						|
    supybot: list Misc
 | 
						|
 | 
						|
  will list all the commands in the Misc plugin.  If you want to see the help
 | 
						|
for any command, just use the help command::
 | 
						|
 | 
						|
    supybot: help help
 | 
						|
    supybot: help list
 | 
						|
    supybot: help load
 | 
						|
 | 
						|
  Sometimes more than one plugin will have a given command; for instance, the
 | 
						|
"list" command exists in both the Misc and Config plugins (both loaded by
 | 
						|
default).  List, in this case, defaults to the Misc plugin, but you may want to
 | 
						|
get the help for the list command in the Config plugin.  In that case, you'll
 | 
						|
want to give your command like this::
 | 
						|
 | 
						|
    supybot: help config list
 | 
						|
 | 
						|
  Anytime your bot tells you that a given command is defined in several
 | 
						|
plugins, you'll want to use this syntax ("plugin command") to disambiguate
 | 
						|
which plugin's command you wish to call.  For instance, if you wanted to call
 | 
						|
the Config plugin's list command, then you'd need to say::
 | 
						|
 | 
						|
    supybot: config list
 | 
						|
 | 
						|
  Rather than just 'list'.
 | 
						|
 | 
						|
Making Supybot Recognize You
 | 
						|
 | 
						|
  If you ran the wizard, then it is almost certainly the case that you already
 | 
						|
added an owner user for yourself.  If not, however, you can add one via the
 | 
						|
handy-dandy 'supybot-adduser' script.  You'll want to run it while the bot is
 | 
						|
not running (otherwise it could overwrite supybot-adduser's changes to your
 | 
						|
user database before you get a chance to reload them).  Just follow the
 | 
						|
prompts, and when it asks if you want to give the user any capabilities, say
 | 
						|
yes and then give yourself the 'owner' capability, restart the bot and you'll
 | 
						|
be ready to load some plugins!
 | 
						|
 | 
						|
  Now, in order for the bot to recognize you as your owner user, you'll have to
 | 
						|
identify with the bot.  Open up a query window in your irc client ('/query'
 | 
						|
should do it; if not, just know that you can't identify in a channel because it
 | 
						|
requires sending your password to the bot).  Then type this::
 | 
						|
 | 
						|
    help identify
 | 
						|
 | 
						|
  And follow the instructions; the command you send will probably look like
 | 
						|
this, with 'myowneruser' and 'myuserpassword' replaced::
 | 
						|
 | 
						|
    identify myowneruser myuserpassword
 | 
						|
 | 
						|
  The bot will tell you that 'The operation succeeded' if you got the right
 | 
						|
name and password.  Now that you're identified, you can do anything that
 | 
						|
requires any privilege: that includes all the commands in the Owner and Admin
 | 
						|
plugins, which you may want to take a look at (using the list and help
 | 
						|
commands, of course).  One command in particular that you might want to use
 | 
						|
(it's from the User plugin) is the 'hostmask add' command: it lets you add a
 | 
						|
hostmask to your user record so the bot recognizes you by your hostmask instead
 | 
						|
of requiring you always to identify with it before it recognizes you.  Use the
 | 
						|
'help' command to see how this command works.  Here's how I often use it::
 | 
						|
 | 
						|
    hostmask add myuser [hostmask] mypassword
 | 
						|
 | 
						|
  You may not have seen that '[hostmask]' syntax before.  Supybot allows nested
 | 
						|
commands, which means that any command's output can be nested as an argument to
 | 
						|
another command.  The hostmask command from the Misc plugin returns the
 | 
						|
hostmask of a given nick, but if given no arguments, it returns the hostmask of
 | 
						|
the person giving the command. So the command above adds the hostmask I'm
 | 
						|
currently using to my user's list of recognized hostmasks.  I'm only required
 | 
						|
to give mypassword if I'm not already identified with the bot.
 | 
						|
 | 
						|
Loading Plugins
 | 
						|
 | 
						|
  Let's take a look at loading other plugins.  If you didn't use
 | 
						|
supybot-wizard, though, you might do well to try it before playing around with
 | 
						|
loading plugins yourself: each plugin has its own configure function that the
 | 
						|
wizard uses to setup the appropriate registry entries if the plugin requires
 | 
						|
any.
 | 
						|
 | 
						|
  If you do want to play around with loading plugins, you're going to need to
 | 
						|
have the owner capability.
 | 
						|
 | 
						|
  Remember earlier when I told you to try 'help load'?  That's the very command
 | 
						|
you'll be using. Basically, if you want to load, say, the Games plugin, then
 | 
						|
'load Games'.  Simple, right?  If you need a list of the plugins you can load,
 | 
						|
you'll have to list the directory the plugins are in (using whatever command is
 | 
						|
appropriate for your operating system, either 'ls' or 'dir').
 | 
						|
 | 
						|
Getting More From Your Supybot
 | 
						|
 | 
						|
  Another command you might find yourself needing somewhat often is the 'more'
 | 
						|
command.  The IRC protocol limits messages to 512 bytes, 60 or so of which must
 | 
						|
be devoted to some bookkeeping.  Sometimes, however, Supybot wants to send a
 | 
						|
message that's longer than that.  What it does, then, is break it into "chunks"
 | 
						|
and send the first one, following it with '(X more messages)' where X is how
 | 
						|
many more chunks there are.  To get to these chunks, use the more command.  One
 | 
						|
way to try is to look at the default value of
 | 
						|
supybot.replies.genericNoCapability -- it's so long that it'll stretch across two
 | 
						|
messages::
 | 
						|
 | 
						|
    <jemfinch|lambda> $config default
 | 
						|
                      supybot.replies.genericNoCapability
 | 
						|
    <lambdaman> jemfinch|lambda: You're missing some capability
 | 
						|
                you need. This could be because you actually
 | 
						|
                possess the anti-capability for the capability
 | 
						|
                that's required of you, or because the channel
 | 
						|
                provides that anti-capability by default, or
 | 
						|
                because the global capabilities include that
 | 
						|
                anti-capability. Or, it could be because the
 | 
						|
                channel or the global defaultAllow is set to
 | 
						|
                False, meaning (1 more message)
 | 
						|
    <jemfinch|lambda> $more
 | 
						|
    <lambdaman> jemfinch|lambda: that no commands are allowed
 | 
						|
                unless explicitly in your capabilities. Either
 | 
						|
                way, you can't do what you want to do.
 | 
						|
 | 
						|
  So basically, the bot keeps, for each person it sees, a list of "chunks"
 | 
						|
which are "released" one at a time by the 'more' command.  In fact, you can
 | 
						|
even get the more chunks for another user: if you want to see another chunk in
 | 
						|
the last command jemfinch gave, for instance, you would just say 'more
 | 
						|
jemfinch' after which, his "chunks" now belong to you.  So, you would just need
 | 
						|
to say 'more' to continue seeing chunks from jemfinch's initial command.
 | 
						|
 | 
						|
Final Word
 | 
						|
 | 
						|
  You should now have a solid foundation for using Supybot.  You can use the
 | 
						|
'list' command to see what plugins your bot has loaded and what commands are in
 | 
						|
those plugins; you can use the 'help' command to see how to use a specific
 | 
						|
command, and you can use the 'more' command to continue a long response from
 | 
						|
the bot.  With these three commands, you should have a strong basis with which
 | 
						|
to discover the rest of the features of Supybot!
 | 
						|
 | 
						|
  Do be sure to read our other documentation and make use of the resources we
 | 
						|
provide for assistance; this website, the forums on it, and, of course,
 | 
						|
#supybot on irc.freenode.net if you run into any trouble!
 |