Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


Ircbot

<cellguy> can anyone answer a Sychronet IRC question for me?  has to do with the bot scripts included with synchronet package
<cellguy> How do you get them working?  Cant find any documentation on them
<cellguy> need to get one oman IRC channel on my server
<cellguy> saw them in the directory and looked at the configs, just need a jump start
<Troice> You set up the ini file and run it using jsexec.
<cellguy> ok sweet, thats the jump start I was looking for
<Troice> ctrl/ircbot.ini
<Troice> sbbs/exec/jsexec -d ircbot.js
<cellguy> thanks a bunch

NOTE: I worked on testing the Synchro.net ircBot but quite honestly I reached my limit. I just didn't feel like reverse engineering all the undocumented commands and configuration any further. IRC services are not new and since Synchro.net IRC was built on an existing IRCd (Bahamut) we should be able to use other services. That being said, I had some luck getting Anope IRC services to run. I have created a new page in the wiki for Anope IRC services.


I'm going to start working on revising this page. Since there is not a great deal of info about the ircBot included with the BBS package, I've been doing some experimenting. Based on what I find, I'll be updating the page here.

Installation There is an ircBot program included with the Synchro.net BBS package, but it is not enabled by default. I have found that the only method to get the bot running is to run it from a separate CMD window as Troice states above. Create a shortcut to it with the command line of sbbs/exec/jsexec -d ircbot.js to start. This assumes you already have the ircd configured and running.

Configuration The ircBot is controlled via a settings file ctrl/ircbot.ini Most important are the server settings;

[server_ServerName]
addresses=add.ress.one, add.ress.two
nick=BotNickname
services_password=?
channels=#channelone, #channeltwo
port=6667

Notes:

  1. If running from the same machine as the ircD then using localhost or 127.0.0.1 works OK. But if you have multiple IP's configured use the specific IP's.
  2. Port is required but if you use the default 6667 or a dedicated port doesn't matter. If all running from the same machine I find 6667 works fine, really depends on how my activity your ircd is getting. If under heavy load and/or running from another machine, you might want to us e a different port that is not open to the outside. Whatever you decide, if not 6667 be sure you have listed it in ctrl/irc.conf as a P line (P:*:*:*:7000).
  3. Passwords are important but quite honestly I have not figured out how to authenticate a bot other than with /oper lines. Which I don't suggest giving a bot. More on this later...
  4. I have found that you may place more than one server section in the ini and it does in fact create more than one bot in the ircd. However, the subsequent bots do not see to behave the same as the default and I need to experiment more with using dedicated ports / running multiple command windows to host individual bots.

Modules There are a number of modules available for the ircBot to host, although they are not all enabled (or listed) in the ctrl/ircbot.ini by default.

[module_ModuleName]
channels=#channelone <key>,!#channeltwo
dir=/sbbs/exec/ircbots/mybot/
lib=mylib.js
global=true

Looking at the sbbs/exec/ircbots directory for your version of the BBS you may see more modules that are installed but bot configured. As of BBS v3.17 I find the following;

;[module_Trivia]
;dir=/sbbs/exec/ircbots/trivia/

[module_Admin]
global=true
dir=/sbbs/exec/ircbots/admin/

[module_Antispam]
global=true
dir=/sbbs/exec/ircbots/antispam/

[module_Decider]
global=true
dir=/sbbs/exec/ircbots/decider/

[module_Dice]
global=true
dir=/sbbs/exec/ircbots/dice/

[module_Dis]
dir=/sbbs/exec/ircbots/dis/

;[module_Google]
;global=true
;dir=/sbbs/exec/ircbots/google/

[module_Ham]
dir=/sbbs/exec/ircbots/ham/

[module_Humanity]
dir=/sbbs/exec/ircbots/humanity/

[module_Info]
global=true
dir=/sbbs/exec/ircbots/info/
lib=http.js

[module_Poker]
dir=/sbbs/exec/ircbots/poker/
lib=cardlib.js

[module_Presence]
dir=/sbbs/exec/ircbots/presence/

[module_Weather]
global=true
dir=/sbbs/exec/ircbots/weather/
lib=http.js

[module_WhereIs]
global=true
dir=/sbbs/exec/ircbots/whereis/
lib=http.js

[module_RPG]
dir=/sbbs/exec/ircbots/rpgbot/

Notes

  1. Google seems to have some file dependencies and doesn't execute so I have it commented out.
  2. No trivia directory although it is listed in the ini file.
  3. Otherwise, by adding the modules to the ini and restarting the bot you may make these available in your ircd.

Usage

Notes

  1. See the help by sending /msg <botnick> help.
  2. You will need to /msg <botnick> IDENT <password> against your bot to see the full menu of items

Without IDENT the help looks like;

Usage: HELP <module> <command> | HELP <command>
[main] help,?,ident,quote
[admin] whois,eval,lastspoke
[antispam] 
[decider] should
[dice] roll,dice
[dis] quote,dis
[ham] specs,z,geo,vhf,hf,country,callsign,contests,bands
[humanity] humanity,submit,humanity!,pick,humanity?,score
[info] def,syn,info,wtf
[poker] deal,go,fold,check,bet,call,raise,status,list,show,hole,invite,balance
[presence] nodelist
[weather] weather,forecast
[whereis] whereis
[rpg] create,classes,races,zones,login,logout,help
editor commands: set, link, unlink, move, mobs, items, exits, title, desc, goto, look
battle commands: flee, kill
item commands: drop, get, put, unlock, lock, open, close, remove, wear, equip, wield
rpg commands: score, status, move, equipment, inventory, look
for detailed command info, type 'rpg help <command>'
for help creating a characer, type 'rpg help create'
for help with the editor, type 'rpg help editor'

With IDENT it looks like;

Usage: HELP <module> <command> | HELP <command>
[main] reload,load,join,part,die,restart,help,?,ident,addquote,quote,greet,save,prefix,nick,module,modules,abort,ignore
[admin] whois,addmask,delmask,adduser,change,resetpass,pass,seval,eval,groups,subs,subgroups,read,finger,udpfinger,exec,say,lastspoke,force,debug,objkeys,tail,pipe
[antispam] 
[decider] should
[dice] roll,dice
[dis] quote,dis
[ham] specs,z,geo,vhf,hf,country,callsign,contests,bands
[humanity] humanity,submit,humanity!,pick,humanity?,score
[info] def,syn,info,wtf
[poker] deal,go,fold,check,bet,call,raise,status,list,show,hole,invite,balance,buyin
[presence] nodelist
[weather] weather,forecast
[whereis] whereis
[rpg] create,classes,races,zones,login,edit,logout,save,help,restore
editor commands: set, link, unlink, move, mobs, items, exits, title, desc, goto, look
battle commands: flee, kill
item commands: drop, get, put, unlock, lock, open, close, remove, wear, equip, wield
rpg commands: score, status, move, equipment, inventory, look
for detailed command info, type 'rpg help <command>'
for help creating a characer, type 'rpg help create'
for help with the editor, type 'rpg help editor'

I am going to begin going through all the commands for the bot and will list them out here.

See Also