Skip to content

Command: deploy#


Summary#

Command Default Level Global Only?
deploy 500 yes

Description#

  • Deploys a new bot from IRC, with the given primary channel
  • Configures eggdrop
  • Configures Armour
  • Starts eggdrop
  • Creates automatic cronjob entry to check every 5 mins and restarts -- if cfg(deploy:cron) is enabled
  • Supports optional custom settings using deployment *.ini file syntax
  • Uses settings from the current bot if no custom settings are specified

Usage#

deploy <bot> <chan> [setting1=value1 setting2=value2 settingN=valueN...]
  • Sets the given channel name as the primary channel (chan:def)
  • Settings are optional. Unspecified settings will be obtained from the current bot.
  • Any setting found in deploy/*.ini files can be utilised.
  • Any settings which have multi word values must be wraped in curly braces along with the setting.
Supported Settings

Available Settings#

The below deploy/*.ini format settings can be specified with the deploy command:

Setting Description
botname IRC nickname
altnick Alternative IRC nickname when primary is unavailable
realname IRC realname (gecos)
prefix The character used for public commands
chan:report Optional bot logging channel, showing command usage and diagnostics. Best to be an unregistered bot channel
ban Determines how Armour will set bans. Either chan (server) or X
network Name of the IRC network
servers Space delimited list of IRC servers to connect to
net-type Eggdrop setting containing the IRC network type. Can often be the same as the network value
ircd Type of ircd software. 1 (ircu: Undernet/Quakenet), 2 (IRCnet, EFnet)
znc Set 1 if connecting via a ZNC bouncer, or 0 if not.
offset Relative timezone offset from UTC
listenport Port to accept telnet and botnet connections on
vhost4 IPv4 address to bind to for outgoing IPv4 server connections
vhost6 IPv6 address to bind to for outgoing IPv6 server connections
auth:user Username for GNUWorld (X) authentication or nickname for NickServ
auth:pass Password for authentiation using auth:user
auth:totp Secret key for 2FA when authenticating with GNUWorld (X)
auth:hide Set 1 to hide hostname on ircu networks (via usermode +x), or 0 if not
auth:rand Set 1 to set random nickname until authenticated with services, or 0 if not
auth:wait Set 1 to wait to join channels until authenticated with services and host is hidden, or 0 if not
servicehost The hostname of network service clients (e.g., undernet.org)
auth:mech Mechanism for authentication. Specify gnuworld or nickserv
auth:serv:nick Nickname for authentiation service. e.g., X or NickServ
auth:serv:host Authentication service server address (e.g., channels.undernet.org)
register Set 1 to allow users to self-register their own bot users with register command, or 0 if not
register:inchan If register is enabled, this setting can contain space delimited channels the user msut be in before register can work. Leaving this empty allows all clients to register if register is set.
portscan Set 1 to enable the port scanner, or 0 if not
oidentd Set 1 to have eggdrop utilise oidentd configuration, or 0 if not
username Username (ident) for eggdrop to use, if oidentd not enabled

Examples#

Deploy testBot with existing settings:

Empus | y deploy testBot #armour
@yolk | done! new bot testBot running (PID: 5000) -- initialise via: /msg testBot hello

Deploy testBot2 with multiple custom setting overrides:

Empus | y deploy testBot2 #test prefix=t username=bot
@yolk | done! new bot testBot2 running (PID: 5002) -- initialise via: /msg testBot2 hello

Deploy testBot3 with more custom setting overrides, including multi word value:

Empus | y deploy testBot3 #test prefix=t {realname=I am a bot!} vhost6=2607:f8b0:4007:818::2004 servers=irc6.undernet.org
@yolk | done! new bot testBot3 running (PID: 5003) -- initialise via: /msg testBot3 hello


Initialisation#

Once the newly deployed bot is online, you must initialise it by adding yourself to eggdrop and Armour:

Step 1#

Add self to eggdrop via: /msg testBot hello

-- | Msg(Empus) -> testbot: hello

-- | testBot (armour@172.16.164.1): Hi Empus!  I'm testBot, an eggdrop bot.
-- | testBot (armour@172.16.164.1): I'll recognize you by hostmask '*!*empus@172.16.164.*' from now on.
-- | testBot (armour@172.16.164.1): YOU ARE THE OWNER ON THIS BOT NOW
-- | testBot (armour@172.16.164.1): As master you really need to set a password: with /MSG testBot pass <your-chosen-password>.
-- | testBot (armour@172.16.164.1): All major commands are used from DCC chat. From now on, you don't need to use the -m option when starting the bot.  Enjoy !!!

Step 2#

Set password via: /msg testBot pass <password>

-- | Msg(Empus) -> testbot: pass myP@ssw0d!

-- | testBot (armour@172.16.164.1): Success! Armour has been loaded.  You must now create yourself in the Armour database.
-- | testBot (armour@172.16.164.1): /msg testBot inituser <user> [account]
-- | testBot (armour@172.16.164.1): ... where <user> is your desired bot username (e.g., Empus), and [account] is your network username for autologin.
-- | testBot (armour@172.16.164.1): Password set to: 'myP@ssw0d!'.

Step 3#

Add self to Armour via /msg testBot inituser <user> [account]

 -- | Msg(Empus) -> testbot: inituser Empus Empus

 -- | testBot (armour@172.16.164.1): newuser created! please login: /msg testBot login Empus myP@ssw0d!
--> | testBot (armour@172.16.164.1): has joined #armour

Step 4#

Login and prove Armour load via: /msg testBot login <user> <password>

     -- | Msg(Empus) -> testbot: login empus myP@ssw0d!

     -- | testBot (armour@172.16.164.1): login successful. 0 unread notes.

 @Empus | t say hello
testBot | hello


Command Description
cmds List commands available to user
die Kill the bot process
help View the help for a given command
jump Reconnect or change connected server
rehash Reload script and plugins
status Displays bot status including connection info
update Check and optionally install script updates