Configuration#
Armour configuration is held in the ./armour/armour.conf
file. This file should be renamed to refer
to each bot running Armour, just as with the eggdrop config file in the parent directory.
Warning
The configuration has sensible default values but many variables must be changed otherwise the bot will not operate as expected.
Please ensure you thoroughly read this configuration file and make all necessary changes before loading the script on your eggdrop.
Sample Configuration
The sample armour.conf.sample
configuration file can be viewed here
Overview#
The config file is separated into distinct sections:
Section | Description |
---|---|
General | Core functions to reference the bot's identity for config and db files, password behaviour, and debug |
Updates | Behaviour relating to automatic script version checks and updating |
User Registration | Options to define user self registrations |
Network | Connection settings and network specific behaviour |
Bot | Methods to trigger bot commands and various optional behaviour settings |
Note | Control of the bot's system to send notes between users |
Channel | Channel settings including primary channel and optional reporting channel |
Service Authentication | Options to control authentication and use of network services |
Kickban | Options relating to channel kickbans incl. metho and timings |
Scanner | Control of inbuilt scanners incl. DNSBL and portscaner |
Text CAPTCHA | Settings relating to optional CAPTCHA from www.textcaptcha.com |
IP Quality Score | Settings controlling behaviour from optional IPQS checks from www.ipqualityscore.com |
IRCBL | Options relating to IRCBL service when adding and removing RBL entries |
Text Matches | Behaviour relating to blacklist entries of text type |
Line Flood | Options to control text line flood thresholds and actions in channels |
Adaptive Regex | Configuration to determine floodnet detection match types |
Report | Settings controlling when user or channel notices are sent for different events |
Custom Queue | Timers to finely control the custom queue behaviour for channels in secure mode |
Floodnet | Control of channel lockdown behaviour when floodnet is detected |
Trakka | Control of timers and action when trakka score tracking is enabled in channels |
External Scripts | Ability to send channel joins to external scripts only when all scans have passed |
Bot Protection | Optional list of network SILENCE masks, for added protection |
Paranoia | Control of behaviour when in secure mode, incl. CAPTCHA, CTCP VERSION, and clones |
DroneBL | Options relating to DroneBL service when adding and removing RBL entries |
OpenAI | Settings relating to the optional openai plugin for ChatGPT integration |
Command Levels | Ability to control the required level and accepted methods (pub, msg, dcc) for every command |
Plugins#
Armour comes with some optional script plugins found within the plugins
directory.
To load these plugins, uncomment the respective line(s) at the end of the Armour configuration file.
#set addplugin(quote) "./armour/plugins/quote.tcl"; # -- quote management
#set addplugin(openai) "./armour/plugins/openai.tcl"; # -- openai (ChatGPT)
#set addplugin(tell) "./armour/plugins/tell.tcl"; # -- tell
#set addplugin(trakka) "./armour/plugins/trakka/trakka.tcl"; # -- trakka
#set addplugin(smsbot) "./armour/plugins/smsbot.tcl"; # -- SMS (via smsglobal.com)
#set addplugin(push) "./armour/plugins/push.tcl"; # -- push (via pushover.net)
#set addplugin(email) "./armour/plugins/email.tcl"; # -- email
Plugin Configuration
Some plugins have configuration in the plugin TCL file, others are configured from Armour itself. Ensure
to read any instructions in the plugin *.tcl
file before loading.
Loading#
Before loading Armour, ensure:
- the eggdrop bot is running, connected to IRC, and that your are added as bot master with a password set;
- the Armour configuration file has been fully read and edited
To load Armour, its configuration file needs to be loaded by eggdrop. To do this, add the below line to the eggdrop configuration file and rehash the bot.
Rename mybot.conf
to an appropriate name for your bot, so multiple Armour bots can easily be ran from
the same installation directory with different configuration files.
Common Mistake
Do not load armour.tcl
from the eggdrop configuration file. Load the armour *.conf file, and
it in turn will automatically load the armour TCL script and all dependencies.
Next, rehash the bot from one of two ways:
Debug Logging
Armour can create some very helpful and interesting debug logging. This can be enabled form the partyline and it's therefore recommended to be watching the partyline when the script is being loaded.
To enable debug logging, enable the desired log levels (1-5). Useful logging without being
too excessive, is up to log level 3
. To enable this level, type the below:
Create User#
Once Armour is laoded, a special one-time-use command is enabled which allows the first Armour user to be automatically created.
Warning
The below commands should only be used once your user is first aded to the eggdrop database using the hello
command.
It's advisable to have the partyline (DCC or telnet) open with debug levels 1-3 enabled before typing the below, so any errors can be captured for troubleshooting, if needed.
Only proceed once the above has been done.
From IRC:
/msg <botnick> inituser <user> [account]
/msg <botnick> login <user> <password>
/msg <botnick> newpass <newpassword>
Information
The inituser
command only works when the Armour user database is empty.
The user
is your desired username in the Armour bot. It can be the same as your eggdrop handle.
Use account
to represent your network account (e.g., X username on Undernet). This will be used for autologin.
Running the inituser
command will generate a random password that can then be changed. This password can be used when autologin is unavailable, otherwise is not typically required in future.
/msg <botnick> inituser <user>
/msg <botnick> login <user> <password>
/msg <botnick> newpass <newpassword>
Information
The inituser
command only works when the Armour user database is empty.
The user
is your desired username in the Armour bot. It can be the same as your eggdrop handle.
Running the command will generate generate a random password that can then be changed.
Example, with private messages to the bot:
Empus | inituser Empus Empus
yolk | newuser created. please login: /msg yolk login Empus ks&j8%*%2s
Empus | login Empus ks&j8%*%2s
yolk | login successful. 0 unread notes.
Empus | newpass myNewP@$$w0d
yolk | password changed.
Network Autologin
If using user accounts (e.g., Undernet/Quakenet), autologin will occur automatically after network authentication, without ever needing to use manual password-based authentication.
Autologin after network auth will be actioned when joining a channel, or by using login
on its own (either in a channel or in privmsg)
Success!#
If the above steps worked and you're now authenticated and changed your password, Armour is ready for use. Congratulations!
The bot will have automatically joined the primary (default) channel set in cfg(chan:def)
as well as the console reporting
channel set in cfg(chan:report)
Additional channels can be registered with the addchan
command.
@Empus | y version
@yolk | version: Armour v4.0 (revision: 2023090903 -- status: current with 4_0_beta branch)
@Empus | y cmds
@yolk | commands: access ack add addchan adduser and ask askmode asn ban black chanlist chanscan chuck cmds cocktail conf country dad deluser deop devoice die do exempt fact help history idle image info invite ipqs joke jump kick lang load login logout mod modchan mode moduser newpass newuser note nudge op queue quote register rehash rem remchan remuser restart say scan scanport scanrbl score search set showlog speak stats status tell time topic trivia ub unban update usearch userlist verify version view voice vote
@yolk | hint: for web documentation, see: https://armour.bot/cmd
Command use can be checked with the help
command and available through the Commands online help.
Troubleshooting Failures
If you have reached this step and did not succeed with inituser
(or the subsequent login), then something failed in the
setup process.
Check for errors in the partyline (or telnet) by enabling debug Level 3
by typing the below and trying again:
Errors found in these partyline/telnet debug messages will provide crucial assistance when troubleshooting problems.
If you still have problems, please make contact for support -- ideally on IRC. Instructions can be found on the Contact page.