mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-10-26 13:07: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!
 | 
