Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
module:ircbot [2019/04/24 12:29] – Removed the IRC log (placeholder documentation) from the top of the page. ecbbs | module:ircbot [2019/05/30 23:43] (current) – Created sections digital man | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== IRC Bot ====== | ====== IRC Bot ====== | ||
- | **Installation** | + | ===== Install ===== |
The IRC bot is included with Synchronet BBS, at '' | The IRC bot is included with Synchronet BBS, at '' | ||
- | **Configuration** | + | ===== Configure ===== |
- | The IRC bot configuration file is '' | + | The IRC bot configuration file is [[:config:ircbot.ini:]]. |
< | < | ||
Line 19: | Line 19: | ||
//Notes:// | //Notes:// | ||
- | - If you are running the Synchronet ircd, you can connect the bot to localhost, 127.0.0.1, or the specific interface that the ircd binds to as configured in '' | + | - If you are running the Synchronet ircd, you can connect the bot to localhost, 127.0.0.1, or the specific interface that the ircd binds to as configured in [[:config:services.ini:]] |
- | - You may place more than one server section in '' | + | - You may place more than one server section in [[:config:ircbot.ini:]], however connecting to multiple servers with one bot currently does not work. Instead, you would need to run multiple instances of ircbot.js. |
**Modules** | **Modules** | ||
Line 46: | Line 46: | ||
[module_Antispam] | [module_Antispam] | ||
global=true | global=true | ||
+ | channels = # | ||
dir=/ | dir=/ | ||
Line 92: | Line 93: | ||
[module_RPG] | [module_RPG] | ||
+ | channels = # | ||
dir=/ | dir=/ | ||
</ | </ | ||
//Notes// | //Notes// | ||
- | - Google seems to have some file dependencies and doesn' | + | - Google seems to have some missing |
- No trivia directory although it is listed in the ini file. | - No trivia directory although it is listed in the ini file. | ||
+ | - Add a module to a channel by adding the line channels = # | ||
- Otherwise, by adding the modules to the ini and restarting the bot you may make these available in your ircd. | - Otherwise, by adding the modules to the ini and restarting the bot you may make these available in your ircd. | ||
- | |||
**Running the IRC Bot** | **Running the IRC Bot** | ||
Line 118: | Line 120: | ||
You can add '' | You can add '' | ||
- | + | ===== Use ===== | |
- | **Using the IRC Bot** | + | |
- See the help menu by sending **/msg < | - See the help menu by sending **/msg < | ||
- | - Some commands are restricted and will not show up in the help menu (or be usable), until you have identified yourself to the bot. To identify, use **/msg < | + | - Some commands are restricted and will not show up in the help menu (or be usable), until you have identified yourself to the bot. To identify, use **/msg < |
Without **IDENT** the help looks like; | Without **IDENT** the help looks like; | ||
Line 177: | Line 178: | ||
for help with the editor, type 'rpg help editor' | for help with the editor, type 'rpg help editor' | ||
</ | </ | ||
+ | |||
+ | The main module functions are contained in the ''/ | ||
+ | |||
+ | < | ||
+ | Bot_Commands[" | ||
+ | get_cmd_prefix() + " | ||
+ | Bot_Commands[" | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | This is an example from the command RELOAD. | ||
+ | The usage line dictates the syntax required to execute the command. | ||
+ | The help line contains a text description of the command' | ||
+ | |||
+ | **Module Main** | ||
+ | * reload - Reloads the internal bot command and function structure. | ||
+ | * load - ??? Unconfirmed ??? I suspect this loads messages from a BBS message area but am unable to get this working. | ||
+ | * join - Instructs the specified bot to JOIN a new channel. [Note: may also be specified in the [[: | ||
+ | * part - Instructs the specified bot to dePART from a channel. | ||
+ | * die - Causes bot to die (shut down). You don't want that, do you? | ||
+ | * restart - Forces bot to restart, only works with bots running as a service. | ||
+ | * help - Displays helpful information about bot commands. | ||
+ | * ? - This is the same as help above [Note: This is a command alias, created via // | ||
+ | * ident - Identifies a user by alias and password. Use via private message only. [Note: create an alias for IDENT too.] | ||
+ | * addquote - Adds a quote from your nick to the database. | ||
+ | * quote - QUOTE returns quote assoicated with your nick, or search for a string to quote. | ||
+ | * greet - Sets or clears the greeting I will display when you enter the room. | ||
+ | * save - ??? Unconfirmed ??? Save some data locally? | ||
+ | * prefix - Changes the bot command prefix. Default is BOT. Only needed in channels, not in private msgs. | ||
+ | * nick - Change the bots nickname. | ||
+ | * module - Toggle the status of modules in channels. | ||
+ | * modules - Same as modules above. | ||
+ | * abort - Instruct the bot to ABORT server output. | ||
+ | * ignore - Tell the bot to IGNORE the specified nickname. | ||
+ | |||
+ | Note: The RELOAD command throws an error in it's default config. This should result in reloading [[: | ||
+ | |||
+ | < | ||
+ | TypeError: redeclaration of const MODULE_NAME | ||
+ | file: / | ||
+ | line: 27 | ||
+ | </ | ||
+ | |||
+ | You may comment out this section in the ''/ | ||
+ | |||
+ | < | ||
+ | Bot_Commands[" | ||
+ | srv.o(target," | ||
+ | load(" | ||
+ | load(" | ||
+ | for(var m in Modules) { | ||
+ | /* Don't reload libraries?? | ||
+ | for(var l in Modules[m].load) { | ||
+ | if(Modules[m].load[l]) load(Modules[m], | ||
+ | } */ | ||
+ | } | ||
+ | srv.o(target," | ||
+ | return; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | I'll start creating separate pages for the other modules as I work though them. | ||
===== See Also ===== | ===== See Also ===== | ||
* [[: | * [[: | ||
- | {{tag>}} | + | {{tag>irc chat}} |