diff options
Diffstat (limited to '')
-rw-r--r-- | terminaldweller.com/eggdrop/docker-compose.yaml | 30 | ||||
-rw-r--r-- | terminaldweller.com/eggdrop/eggdrop.conf | 1724 |
2 files changed, 1754 insertions, 0 deletions
diff --git a/terminaldweller.com/eggdrop/docker-compose.yaml b/terminaldweller.com/eggdrop/docker-compose.yaml new file mode 100644 index 0000000..8b00574 --- /dev/null +++ b/terminaldweller.com/eggdrop/docker-compose.yaml @@ -0,0 +1,30 @@ +version: '3.1' + +services: + eggdrop: + image: eggdrop:1.9 +### If running for the first time without providing your own config, you +### probably want to set these variables + # environment: + # - SERVER="irc.terminaldweller.com +6697" + # - NICK=eggdrop +### Make this match your listen setting in the config + ports: + - "127.0.0.1:3335:3333" +### Change this to the path with your config and user/channel files + networks: + - eggnet + volumes: + - ./data/:/home/eggdrop/eggdrop/data/ + #command: ["-c", "/home/eggdrop/eggdrop/data/eggdrop.conf"] +### If you want to add scripts, put them here. Don't mount to /scripts because +### it will overwrite the ones that are already used. Make sure you use +### 'source scripts2/foo.tcl' as the path in the config. +# -/changethispart/scripts:/home/eggdrop/eggdrop/scripts2 +### Enter config name, if not eggdrop.conf +# command: LeafBlower.conf + stdin_open: true + tty: true + restart: unless-stopped +networks: + eggnet: diff --git a/terminaldweller.com/eggdrop/eggdrop.conf b/terminaldweller.com/eggdrop/eggdrop.conf new file mode 100644 index 0000000..1afe4f7 --- /dev/null +++ b/terminaldweller.com/eggdrop/eggdrop.conf @@ -0,0 +1,1724 @@ +#! /path/to/executable/eggdrop +# ^- This should contain a fully qualified path to your Eggdrop executable. +# +# This is a sample Eggdrop configuration file which includes all possible +# settings that can be used to configure your bot. +# +# The pound signs (#) that you see at the beginning of some lines mean that +# the remainder of that line is a comment, or just for your information. By +# adding or deleting pound signs, you can comment or uncomment a setting, +# respectively. +# +# Arguments for a command or setting may be inclosed in <>'s or []'s in the +# example/description. Arguments in <>'s are required, while [] means optional. +# +# More detailed descriptions of all these settings can be found in +# doc/settings/. + + + +##### BASIC SETTINGS ##### + +# This setting defines the username the bot uses on IRC. This setting has no +# effect if an ident daemon is running on your bot's machine. See also ident +# module. +set username "eggdrop" + +# This setting defines which contact person should be shown in .status, +# /msg help, and other places. You really should include this information. +set admin "devi <email: devi@terminaldweller.com>" + +# This setting is used only for info to share with others on your botnet. +# Set this to the IRC network your bot is connected to. +set network "irc.terminaldweller.com" + +# This setting defines which timezone is your bot in. It's used for internal +# routines as well as for logfile timestamping and scripting purposes. +# The timezone string specifies the name of the timezone and must be three +# or more alphabetic characters. For example, Central European Time(UTC+1) +# should be "CET". +set timezone "EST" + +# The offset setting specifies the time value to be added to the local +# time to get Coordinated Universal Time (UTC aka GMT). The offset is +# positive if the local timezone is west of the Prime Meridian and +# negative if it is east. The value (in hours) must be between -23 and +# 23. For example, if the timezone is UTC+1, the offset is -1. +set offset "3:30" + +# If you don't want to use the timezone setting for scripting purposes only, +# but instead everywhere possible, un-comment the following line. +#set env(TZ) "$timezone$offset" + +############################################################################ +## Network settings overview +## With the addition of IPv6 and the associated config changes, here are some +## BASIC common networking scenarios, along with the appropriate settings +## needed: +## +## SHELL PROVIDER (MULTIPLE IPs/VHOSTS) +## * set vhost4 or vhost6 to the IP/vhost you want to use +## * do not set nat-ip +## +## HOME COMPUTER/VPS, DIRECT INTERNET CONNECTION (SINGLE IP, NO NAT) +## * do not set vhost4/vhost6 +## * do not set nat-ip +## +## HOME COMPUTER, BEHIND A NAT +## * do not set vhost4/vhost6 +## * set nat-ip to your external IP +## +## And as a general rule, if you're having issues with Eggdrop responding to +## a CTCP chat request, try setting vhost4/6 to your external IP. +## +## Below is a detailed description of each setting, please read them to +## learn more about their function. +############################################################################ + +# If you're using virtual hosting (your machine has more than 1 IP), you +# may want to specify the particular IP to bind to. You can specify either +# by hostname or by IP. Note that this is not used for listening. Use the +# 'listen' command to specify the listening address. If you are behind a +# NAT, you will likely want to leave this commented out as Eggdrop should +# determine the correct IP on its own. +#set vhost4 "virtual.host.com" +#set vhost4 "99.99.0.0" + +# IPv6 vhost to bind to for outgoing IPv6 connections. You can set it +# to any valid IPv6 address or hostname, resolving to an IPv6 address. +# Note that this is not used for listening. Use the 'listen' command +# to specify the listening address. +#set vhost6 "my.ipv6.host.com" +#set vhost6 "2001:db8::c001:b07" + +# Prefer IPv6 over IPv4 for connections and dns resolution? Set to 1 to try +# IPv6 first, otherwise set to 0 for IPv4. If the preferred protocol family +# is not supported, the other one will be tried. +set prefer-ipv6 0 + +# If you want to have your Eggdrop messages displayed in a language other +# than English, change this setting to match your preference. An alternative +# would be to set the environment variable EGG_LANG to that value. +# +# Languages included with Eggdrop: Danish, English, French, Finnish, German, +# Italian, Portuguese. +#addlang "english" + + +##### LOG FILES ##### + +# Eggdrop is capable of logging various things, from channel chatter to +# commands people use on the bot and file transfers. Logfiles are normally +# kept for 24 hours. Afterwards, they will be renamed to "(logfile).yesterday". +# After 48 hours, they will be overwritten by the logfile of the next day. +# +# Events are logged by certain categories. This way, you can specify +# exactly what kind of events you want sent to various logfiles. +# +# Logfile flags: +# b - information about bot linking and userfile sharing +# c - commands +# d - misc debug information +# g - raw outgoing share traffic +# h - raw incoming share traffic +# j - joins, parts, quits, topic changes, and netsplits on the channel +# k - kicks, bans, and mode changes on the channel +# l - linked bot messages +# m - private msgs, notices and ctcps to the bot +# o - misc info, errors, etc (IMPORTANT STUFF) +# p - public text on the channel +# r - raw incoming server traffic +# s - server connects, disconnects, and notices +# t - raw incoming botnet traffic +# u - raw outgoing botnet traffic +# v - raw outgoing server traffic +# w - wallops (make sure the bot sets +w in init-server) +# x - file transfers and file-area commands +# +# Note that modes d, h, r, t, and v can fill disk quotas quickly. There are +# also eight user-defined levels (1-8) which can be used by Tcl scripts. +# +# Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p' +# are logged to whatever channel they happened on. Most other events are +# currently logged to every channel. You can make a logfile belong to all +# channels by assigning it to channel "*". + +# This is the maximum number of concurrent logfiles that can be opened +# for writing at one time. At most, this value should be the maximum +# number of channels you expect to create log files for. There is no +# value for 'infinity'; very few cases should ever require more than 20. +# A decrease to this value while running will require a restart (not rehash) +# of the bot. However, don't decrease it below 5. +set max-logs 20 + +# This is the maximum size of your logfiles. Set it to 0 to disable. +# This value is in kilobytes, so '550' would mean cycle logs when it +# reaches the size of 550 kilobytes. Note that this only works if you +# have keep-all-logs 0 (OFF). +set max-logsize 0 + +# This could be good if you have had problem with the logfile filling +# your quota/hard disk or if you log +p and publish it to the web and +# need more up-to-date info. Note that this setting might increase the +# CPU usage of your bot (on the other hand it will decrease your mem usage). +set quick-logs 0 + +# This setting allows you the logging of raw incoming server traffic via +# console/log flag 'r', raw outgoing server traffic via console/log mode 'v', +# raw incoming botnet traffic via console/log mode 't', raw outgoing botnet +# traffic via console/log mode 'u', raw outgoing share traffic via +# console/log mode 'g', and raw incoming share traffic via console/log +# mode 'h'. These flags can create a large security hole, allowing people to +# see user passwords. This is now restricted to +n users only. Please choose +# your owners with care. +set raw-log 0 + +# This creates a logfile named eggdrop.log that captures items logged at the +# m, c, and o log levels (private msgs/ctcps, commands/errors, and misc +# info) from any channel. +logfile mco * "logs/eggdrop.log" + +# This creates a logfile named lamest.log that captures items logged at the +# j, p, and k log levels (joins/parts/quits/netsplits, public chat, +# kicks/bans/mode changes) on the channel #lamest. +#logfile jpk #lamest "logs/lamest.log" + +# Use this feature to timestamp entries in the log file. +set log-time 1 + +# Set the following to the timestamp for the logfile entries. Popular times +# might be "[%H:%M]" (hour, min), or "[%H:%M:%S]" (hour, min, sec). +# Read `man strftime' for more formatting options. Keep it below 32 chars. +set timestamp-format {[%H:%M:%S]} + +# If you want to keep your logfiles forever, turn this setting on. All +# logfiles will get suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]". +# Note that your quota/hard-disk might be filled by this, so check your +# logfiles often and download them. +set keep-all-logs 0 + +# If keep-all-logs is 1, this setting will define the suffix of the logfiles. +# The default will result in a suffix like "04May2000". "%Y%m%d" will produce +# the often used yyyymmdd format. Read the strftime manpages for more options. +set logfile-suffix ".%d%b%Y" + +# You can specify when Eggdrop should switch logfiles and start fresh. You +# must use military time for this setting. 300 is the default, and describes +# 03:00 (AM). +set switch-logfiles-at 300 + +# "Writing user file..." and "Writing channel file..." messages won't be logged +# anymore if this option is enabled. If you set it to 2, the "Backing up user +# file..." and "Backing up channel file..." messages will also not be logged. +# In addition to this, you can disable the "Switching logfiles..." and the new +# date message at midnight, by setting this to 3. +set quiet-save 0 + + +##### CONSOLE ##### + +# This is the default console mode. It uses the same event flags as the log +# files do. The console channel is automatically set to your "primary" channel, +# which is set in the modules section of the config file. Masters can change +# their console channel and modes with the '.console' command. + +set console "mkcoblxs" + + +##### FILES AND DIRECTORIES ##### + +# Specify here the filename your userfile should be saved as. +set userfile "eggdrop.user" + +# Specify here the filename Eggdrop will save its pid to. If no pidfile is +# specified, pid.(botnet-nick) will be used. +#set pidfile "pid.LamestBot" + +# Specify here where Eggdrop should look for help files. Don't modify this +# setting unless you know what you're doing! +set help-path "help/" + +# Specify here where Eggdrop should look for text files. This is used for +# certain Tcl and DCC commands. +set text-path "text/" + +# The MOTD (Message Of The day) is displayed when people dcc chat or telnet +# to the bot. Look at doc/TEXT-SUBSTITUTIONS for options. +set motd "text/motd" + +# This banner will be displayed on telnet connections. Look at +# doc/TEXT-SUBSTITUTIONS for options. +set telnet-banner "text/banner" + +# This specifies what permissions the user, channel, and notes files should +# be set to. The octal values are the same as for the chmod system command. +# +# To remind you: +# +# u g o u g o u g o +# 0600 rw------- 0400 r-------- 0200 -w------- u - user +# 0660 rw-rw---- 0440 r--r----- 0220 -w--w---- g - group +# 0666 rw-rw-rw- 0444 r--r--r-- 0222 -w--w--w- o - others +# +# Note that the default 0600 is the most secure one and should only be changed +# if you need your files for shell scripting or other external applications. +set userfile-perm 0600 + + +##### BOTNET/DCC/TELNET ##### + +# Settings in this section should be unimportant for you until you deal +# with botnets (multiple Eggdrops connected together to maximize efficiency). +# You should read doc/BOTNET before modifying these settings. + +# If you want to use a different nickname on the botnet than you use on +# IRC (i.e. if you're on an un-trusted botnet), un-comment the next line +# and set it to the nick you would like to use. +#set botnet-nick "LlamaBot" + +# This opens a telnet port by which you and other bots can interact with the +# Eggdrop by telneting in. There are more options for the listen command in +# doc/tcl-commands.doc. Note that if you are running more than one bot on the +# same machine, you will want to space the telnet ports at LEAST 5 apart, +# although 10 is even better. +# +# Valid ports are typically anything between 1025 and 65535 assuming the +# port is not already in use. If you would like the bot to listen for users +# and bots in separate ports, use the following format: +# +# listen 3333 bots +# listen 4444 users +# +# If you wish to use only one port, use this format: +# +# listen 3333 all +# +# You can setup a SSL port by prepending a plus sign to it: +# +# listen +5555 all +# +# To bind the listening port to a specific IP instead of all available, insert +# a valid IP assigned to the host Eggdrop is running on infront of the port +# (this replaces the listen-addr setting used prior to Eggdrop v1.9) +# +# listen 1.2.3.4 3333 all +# +# You need to un-comment this line and change the port number in order to open +# the listen port. You should not keep this set to 3333. +#listen 3333 all + +# This setting defines whether or not people can boot users on the Eggdrop +# from other bots in your botnet. +# Options are: +# 0 = allow *no* outside boots +# 1 = allow boots from sharebots +# 2 = allow any boots +set remote-boots 2 + +# This setting allows remote bots to tell your Eggdrop to unlink from +# share bots. +set share-unlinks 1 + +# This setting will drop telnet connections not matching a known host. +set protect-telnet 0 + +# This setting will make the bot ignore DCC chat requests which appear to +# have bogus information on the grounds that the user may have been trying +# to make the bot connect to somewhere that will get it into trouble, or +# that the user has a broken client, in which case the connect wouldn't work +# anyway. +set dcc-sanitycheck 0 + +# This setting defines the time in seconds the bot should wait for ident reply +# before the lookup fails. The default ident on timeout is 'telnet'. A value of +# 0 disables the ident lookup entirely. +set ident-timeout 5 + +# Define here whether or not a +o user still needs the +p flag to dcc the bot. +set require-p 1 + +# If you want people allow to telnet in and type 'NEW' to become a new user, +# set this to 1. This is similar to the 'hello' msg command. The protect-telnet +# setting must be set to 0 to use this. +set open-telnets 0 + +# If you don't want Eggdrop to identify itself as an eggdrop on a telnet +# connection, set this setting to 1. Eggdrop will display a logon prompt with +# only the contents of the stealth-prompt setting. +set stealth-telnets 0 + +# If stealth-telnets is 1, the string in this setting will replace the +# traditional Eggdrop banner. Two common choices are listed. (The \n's are +# present to maintain backwards compatibility and will be removed in a +# future release) +#set stealth-prompt "login: " +set stealth-prompt "\n\nNickname.\n" + +# If you want Eggdrop to display a banner when telneting in, set this setting +# to 1. The telnet banner is set by 'set telnet-banner'. +set use-telnet-banner 0 + +# This setting defines a time in seconds that the bot should wait before +# a dcc chat, telnet, or relay connection times out. +set connect-timeout 15 + +# Specify here the number of lines to accept from a user on the partyline +# within 1 second before they are considered to be flooding and therefore +# get booted. +set dcc-flood-thr 3 + +# Define here how many telnet connection attempts in how many seconds from +# the same host constitute a flood. The correct format is Attempts:Seconds. +set telnet-flood 5:60 + +# If you want telnet-flood to apply even to +f users, set this setting to 1. +set paranoid-telnet-flood 1 + +# Set here the amount of seconds before giving up on hostname/address lookup +# (you might want to increase this if you are on a slow network). The default is +# RES_TIMEOUT, which is generally 5, the allowed maximum is RES_MAXRETRANS (see +# <resolv.h>). +#set resolve-timeout 5 + + +##### SSL SETTINGS ##### + +# Settings in this section take effect when eggdrop is compiled with TLS +# support. +# +# IMPORTANT: The following two settings MUST be uncommented in order to +# use SSL functionality! + +# File containing your private key, needed for the SSL certificate +# (see below). You can create one issuing the following command: +# +# openssl genrsa -out eggdrop.key 4096 +# +# It will create a 4096 bit RSA key, strong enough for eggdrop. +# For your convenience, you can type 'make sslcert' after 'make install' +# and you'll get a key and a certificate in your eggdrop directory. +# If you installed to a non-default location, use 'make sslcert DEST=...' +# +# THIS IS REQUIRED if you intend to use this bot as a hub for SSL hubs/ +# listen ports, secure file transfer, /ctcp botnick schat, or +# using a certificate to authenticate with NickServ. +#set ssl-privatekey "eggdrop.key" + +# Specify the filename where your SSL certificate is located. If you +# don't set this, eggdrop will not be able to act as a server in SSL +# connections, as with most ciphers a certificate and a private key +# are required on the server side. Must be in PEM format. +# If you don't have one, you can create it using the following command: +# +# openssl req -new -key eggdrop.key -x509 -out eggdrop.crt -days 365 +# +# For your convenience, you can type 'make sslcert' after 'make install' +# and you'll get a key and a certificate in your eggdrop directory. +# If you installed to a non-default location, use 'make sslcert DEST=...' +# +# THIS IS REQUIRED if you intend to use this bot as a hub for SSL hubs/ +# listen ports, secure file transfer, /ctcp botnick schat, or +# using a certificate to authenticate with NickServ. +#set ssl-certificate "eggdrop.crt" + +# Sets the maximum depth for the certificate chain verification that will +# be allowed for ssl. When certificate verification is enabled, any chain +# exceeding this depth will fail verification. +#set ssl-verify-depth 9 + +# Specify the location at which CA certificates for verification purposes +# are located. These certificates are trusted. If you don't set this, +# certificate verification will not work. +set ssl-capath "/etc/ssl/" +#set ssl-cafile "" + +# Specify the list of protocols allowed for use with ssl. The protocol list is +# one or more protocol strings separated by spaces. Available protocols are +# SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. +# set ssl-protocols "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3" + +# Specify the list of ciphers (in order of preference) allowed for use with +# ssl. The cipher list is one or more cipher strings separated by colons, +# commas or spaces. Unavailable ciphers are silently ignored unless no usable +# cipher could be found. For the list of possible cipher strings and their +# meanings, please refer to the ciphers(1) manual. +# Note: if you set this, the value replaces any ciphers OpenSSL might use by +# default. To include the default ciphers, you can put DEFAULT as a cipher +# string in the list. +# For example: +# +# set ssl-ciphers "DEFAULT ADH" +# +# This will make eggdrop allow the default OpenSSL selection plus anonymous +# DH ciphers. +# +# set ssl-ciphers "ALL" +# +# This will make eggdrop allow all ciphers supported by OpenSSL, in a +# reasonable order. +#set ssl-ciphers "" + +# Specify the location of a dhparam file. This file is necessary if you are +# using a Diffie-Hellman based key exchange. If you don't know what this is, +# you are probably safe leaving it commented. +# You can create a dhparam file using the following command: +# openssl dhparam -out dhparam.pem 4096 +#set ssl-dhparam "dhparam.pem" + +# Enable certificate authorization. Set to 1 to allow users and bots to +# identify automatically by their certificate fingerprints. Setting it +# to 2 to will force fingerprint logins. With a value of 2, users without +# a fingerprint set or with a certificate UID not matching their handle +# won't be allowed to login on SSL enabled telnet ports. Fingerprints +# must be set in advance with the .fprint and .chfinger commands. +# NOTE: this setting has no effect on plain-text ports. +#set ssl-cert-auth 0 + +# You can control SSL certificate verification using the following variables. +# All of them are flag-based. You can set them by adding together the numbers +# for all exceptions you want to enable. By default certificate verification +# is disabled and all certificates are assumed to be valid. The numbers are +# the following: +# +# Enable certificate verification - 1 +# Allow self-signed certificates - 2 +# Don't check peer common or alt names - 4 +# Allow expired certificates - 8 +# Allow certificates which are not valid yet - 16 +# Allow revoked certificates - 32 +# A value of 0 disables verification. + +# Control certificate verification for DCC chats (only /dcc chat botnick) +#set ssl-verify-dcc 0 + +# Control certificate verification for linking to hubs +#set ssl-verify-bots 0 + +# Control certificate verification for SSL listening ports. This includes +# leaf bots connecting, users telneting in and /ctcp bot chat. +#set ssl-verify-clients 0 + + +##### MORE ADVANCED SETTINGS ##### + +# Set this to your socks host if your Eggdrop sits behind a firewall. If +# you use a Sun "telnet passthru" firewall, prefix the host with a '!'. +#set firewall "!sun-barr.ebay:3666" + +# If you have a NAT firewall (your box has an IP in one of the following +# ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255, +# 10.0.0.0-10.255.255.255 and your firewall transparently changes your +# address to a unique address for your box) or you have IP masquerading +# between you and the rest of the world, and /dcc chat, /ctcp chat or +# userfile sharing aren't working, enter your outside IP here. This IP +# is used for transfers and CTCP replies only, and is different than the +# vhost4/6 settings. You likely still need to set them. +#set nat-ip "127.0.0.1" + +# If you want all dcc file transfers to use a particular portrange either +# because you're behind a firewall, or for other security reasons, set it +# here. +#set reserved-portrange 2010:2020 + +# Set the time in minutes that temporary ignores should last. +set ignore-time 15 + +# Define here what Eggdrop considers 'hourly'. All calls to it, including such +# things as note notifying or userfile saving, are affected by this. +# For example: +# +# set hourly-updates 15 +# +# The bot will save its userfile 15 minutes past every hour. +set hourly-updates 00 + +# Un-comment the next line and set the list of owners of the bot. +# You NEED to change this setting. +# This is a list of handles -- usernames in the bot. +set owner "terminaldweller" + +# Who should a note be sent to when new users are learned? +set notify-newusers "$owner" + +# Enter the flags that new users added via the 'hello' message command (see +# 'learn-users' description further down) should get by default. See +# '.help whois' on the partyline for a list of flags and their descriptions. +set default-flags "hp" + +# Enter all user-defined fields that should be displayed in a '.whois'. +# This will only be shown if the user has one of these extra fields. +# You might prefer to comment this out and use the userinfo1.0.tcl script +# which provides commands for changing all of these. +set whois-fields "url birthday" + +# Uncomment these two lines if you wish to disable the .tcl and .set commands. +# If you select your owners wisely, you should be okay enabling these. +#unbind dcc n tcl *dcc:tcl +#unbind dcc n set *dcc:set + +# If you enable this setting, only permanent owners (owner setting) will be +# able to use .tcl and .set. Moreover, if you want only let permanent owners +# use .dump, then set this to 2. +# WARNING: setting this to 0 is a security risk, don't do it unless you trust +# your owners enough to give them shell access to the account the bot is +# running on. +set must-be-owner 1 + +# Comment out this line to add the 'simul' partyline command (owners can +# manipulate other people on the party line). Please select owners wisely +# and use this command ethically! +unbind dcc n simul *dcc:simul + +# Set here the maximum number of socket connections you will allow. You can +# increase this later, but never decrease it below current usage. +# If you're using Tcl threads, this is a per-thread maximum. +set max-socks 100 + +# Enable this setting if you want +d & +k users to use commands bound as -|-. +set allow-dk-cmds 1 + +# If your Eggdrop rejects bots that actually have already disconnected from +# another hub, but the disconnect information has not yet spread over the +# botnet due to lag, use this setting. The bot will wait dupwait-timeout +# seconds before it checks again and then finally reject the bot. +set dupwait-timeout 5 + +# Enable cidr support for b/e/I modes. This means the bot will understand +# and match modes in cidr notation, and will be able to put and enforce such +# bans or unban itself, if banned with a cidr mask. +# Do NOT set this, if your network/server does not support cidr! +set cidr-support 0 + +# Disable this setting if you do not want to show name and release level of the +# operating system. You'll probably also want to edit the default motd (in +# text/motd) and remove its display from there. +set show-uname 1 + + +# You MUST remove this line for your bot to start. This has been added to +# prevent you from starting up a bot that is not fully configured. Bots +# that have not been fully configured may join the wrong IRC network, the +# wrong channels, or generally do things that you do not want. Please make +# sure that you have double-checked every setting. There's also a similar line +# lower down, just to make sure you're reading :) +#die "Please make sure you edit your config file completely." + + +##### MODULES ##### + +# Below are various settings for the modules included with Eggdrop. +# PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at +# Eggdrop, things change. + +# This path specifies the path were Eggdrop should look for its modules. +# If you run the bot from the compilation directory, you will want to set +# this to "". If you use 'make install' (like all good kiddies do ;), this +# is a fine default. Otherwise, use your head :) +set mod-path "modules/" + + +#### PBKDF2 MODULE #### + +# IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER +# Eggdrop uses hashing in the userfile, so users can have secure passwords. +# Eggdrop will not start without an encryption module. +# +# As of Eggdrop 1.9.0, a new module was added for hashing, the PBKDF2 module. +# The PBKDF2 module was designed to work with the previous encryption module +# (blowfish) to make the transition easier. If this is a new bot, you can +# safely load just the PBKDF2 module. If you are transitioning a userfile from +# 1.8 or earlier, you should load this AND the blowfish module (below). By doing +# so, Eggdrop will seamlessly update the old blowfish hashes to the new PBKDF2 +# hashes once a user logs in for the first time, and allow you to (eventually) +# remove the blowfish module altogether (See the remove-pass setting). + +# Outside of the specific case noted above, please note that if you change your +# encryption method later (i.e. using other modules like a rijndael module), you +# can't use your current userfile anymore. +# +# NOTE FOR BOTNET USERS: If all bots on the botnet are not running the same +# configuration settings for encryption, you may encounter password-related +# issues when linking. +# +loadmodule pbkdf2 + +# Cryptographic hash function used. openssl list -digest-algorithms +#set pbkdf2-method "SHA256" + +# Number of rounds. The higher the number, the longer hashing takes; but also +# the higher the protection against brute force attacks. +#set pbkdf2-rounds 16000 + +# Remove old password hashes after updating to a pbkdf2 hash? +# +# WARNING: DO NOT CHANGE THIS UNLESS YOU KNOW WHAT YOU ARE DOING +# Enabling this setting will break compatibility with older Eggdrops by ceasing +# to write to the PASS field (where password hashes from modules like blowfish +# are stored), as well as remove an existing PASS hash if found when writing a +# new pbkdf2 hash. In some scenarios (for example, a hub sharing a userfile to +# a leaf that does not have a pbkdf2 module loaded) enabling this setting may +# result in a user having no password set at all. +# +# This setting is planned to be enabled by default in Eggdrop 2.0. +#set remove-pass 0 + +#### BLOWFISH MODULE #### +# +# This module is planned to be removed in Eggdrop 2.0 +# +# Load this if you intend to use a pre-1.9.0 userfile (Or in other words, do +# not load this if you are starting this as a fresh bot and are not linking +# it to a botnet that uses blowfish hashes) +# +# You also need to load this if you use a script that employs the +# encrypt/decrypt Tcl commands. +# +loadmodule blowfish + +# Specify whether to use ECB or CBC operation modes for the tcl commands +# 'encrypt' and 'decrypt'. Prior to version 1.9.0, the less secure ecb +# method was used by default. If you are using these commands with older bots, +# change this to 'ecb' for compatibility, or upgrade the older bots. +set blowfish-use-mode cbc + + +#### DNS MODULE (Deprecated) #### + +## This module provided asynchronous dns support, but as of v1.9.2, this +## functionality was moved into the core code. If you are having issues with the +## new DNS functionality, or just want to continue using this module, compile +## Eggdrop with the --disable-tdns flag (./configure --disdable-tdns). +# +## You really probably don't want to uncomment this!!!! +# +#loadmodule dns +#set dns-servers "8.8.8.8 1.1.1.1 185.222.222.222" +#set dns-cache 86400 +#set dns-negcache 600 +#set dns-maxsends 4 +#set dns-retrydelay 3 + +#### CHANNELS MODULE #### + +# This module provides channel related support for the bot. Without it, +# you won't be able to make the bot join a channel or save channel +# specific userfile information. +loadmodule channels + +# Enter here the filename where dynamic channel settings are stored. +set chanfile "eggdrop.chan" + +# Set this setting to 1 if you want your bot to expire bans/exempts/invites set +# by other opped bots on the channel. +set force-expire 0 + +# Set this setting to 1 if you want your bot to share user greets with other +# bots on the channel if sharing user data. +set share-greet 0 + +# Set this setting to 1 if you want to allow users to store an info line. +set use-info 1 + +# Set this setting to 1 if you want to allow both +p and +s channel modes +# to be enforced at the same time by the chanmode channel setting. +# Make sure your server supports +ps mixing or you may get endless mode +# floods. +set allow-ps 0 + +# The following settings are used as default values when you .+chan #chan or .tcl +# channel add #chan. Look below for explanation of every option. + +set default-flood-chan 15:60 +set default-flood-deop 3:10 +set default-flood-kick 3:10 +set default-flood-join 5:60 +set default-flood-ctcp 3:60 +set default-flood-nick 5:60 +set default-aop-delay 5:30 +set default-idle-kick 0 +set default-chanmode "nt" +set default-stopnethack-mode 0 +set default-revenge-mode 0 +set default-ban-type 3 +set default-ban-time 120 +set default-exempt-time 60 +set default-invite-time 60 + +set default-chanset { + -autoop -autovoice + -bitch +cycle + +dontkickops +dynamicbans + +dynamicexempts +dynamicinvites + -enforcebans +greet + -inactive -nodesynch + -protectfriends +protectops + -revenge -revengebot + -secret -seen + +shared -statuslog + +userbans +userexempts + +userinvites -protecthalfops + -autohalfop -static +} + +# chanmode +/-<modes> +# This setting makes the bot enforce channel modes. It will always add +# the +<modes> and remove the -<modes> modes. +# +# idle-kick 0 +# This setting will make the bot check every minute for idle +# users. Set this to 0 to disable idle check. +# +# stopnethack-mode 0 +# This setting will make the bot de-op anyone who enters the channel +# with serverops. There are seven different modes for this settings: +# 0 turn off +# 1 isoptest (allow serverop if registered op) +# 2 wasoptest (allow serverop if op before split) +# 3 allow serverop if isop or wasop +# 4 allow serverop if isop and wasop. +# 5 If the channel is -bitch, see stopnethack-mode 3 +# If the channel is +bitch, see stopnethack-mode 1 +# 6 If the channel is -bitch, see stopnethack-mode 2 +# If the channel is +bitch, see stopnethack-mode 4 +# +# revenge-mode 0 +# This settings defines how the bot should punish bad users when +# revenging. There are four possible settings: +# 0 Deop the user. +# 1 Deop the user and give them the +d flag for the channel. +# 2 Deop the user, give them the +d flag for the channel, and kick them. +# 3 Deop the user, give them the +d flag for the channel, kick, and ban them. +# +# ban-type 3 +# This setting defines what type of bans should eggdrop place for +k users or +# when revenge-mode is 3. +# Available types are: +# 0 *!user@host +# 1 *!*user@host +# 2 *!*@host +# 3 *!*user@*.host +# 4 *!*@*.host +# 5 nick!user@host +# 6 nick!*user@host +# 7 nick!*@host +# 8 nick!*user@*.host +# 9 nick!*@*.host +# You can also specify types from 10 to 19 which correspond to types +# 0 to 9, but instead of using a * wildcard to replace portions of the +# host, only numbers in hostnames are replaced with the '?' wildcard. +# Same is valid for types 20-29, but instead of '?', the '*' wildcard +# will be used. Types 30-39 set the host to '*'. +# +# ban-time 120 +# Set here how long temporary bans will last (in minutes). If you +# set this setting to 0, the bot will never remove them. +# +# exempt-time 60 +# Set here how long temporary exempts will last (in minutes). If you +# set this setting to 0, the bot will never remove them. The bot will +# check the exempts every X minutes, but will not remove the exempt if +# a ban is set on the channel that matches that exempt. Once the ban is +# removed, then the exempt will be removed the next time the bot checks. +# Please note that this is an IRCnet feature. +# +# invite-time 60 +# Set here how long temporary invites will last (in minutes). If you +# set this setting to 0, the bot will never remove them. The bot will +# check the invites every X minutes, but will not remove the invite if +# a channel is set to +i. Once the channel is -i then the invite will be +# removed the next time the bot checks. Please note that this is an IRCnet +# feature. +# +# aop-delay (minimum:maximum) +# This is used for autoop, autohalfop, autovoice. If an op or voice joins a +# channel while another op or voice is pending, the bot will attempt to put +# both modes on one line. +# aop-delay 0 No delay is used. +# aop-delay X An X second delay is used. +# aop-delay X:Y A random delay between X and Y is used. +# +# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" } +# This setting will make the bot run the script enclosed in brackets +# if it does not have ops. This must be shorter than 120 characters. +# If you use scripts like getops.tcl or botnetop.tcl, you don't need +# to set this setting. +# +# need-invite { putserv "PRIVMSG #lamest :let me in!" } +# This setting will make the bot run the script enclosed in brackets +# if it needs an invite to the channel. This must be shorter than 120 +# characters. If you use scripts like getops.tcl or botnetop.tcl, you +# don't need to set this setting. +# +# need-key { putserv "PRIVMSG #lamest :let me in!" } +# This setting will make the bot run the script enclosed in brackets +# if it needs the key to the channel. This must be shorter than 120 +# characters. If you use scripts like getops.tcl or botnetop.tcl, you +# don't need to set this setting +# +# need-unban { putserv "PRIVMSG #lamest :let me in!" } +# This setting will make the bot run the script enclosed in brackets +# if it needs to be unbanned on the channel. This must be shorter than +# 120 characters. If you use scripts like getops.tcl or botnetop.tcl, +# you don't need to set this setting +# +# need-limit { putserv "PRIVMSG #lamest :let me in!" } +# This setting will make the bot run the script enclosed in brackets +# if it needs the limit to be raised on the channel. This must be +# shorter than 120 characters. If you use scripts like getops.tcl or +# botnetop.tcl, you don't need to set this setting +# +# flood-chan 15:60 +# Set here how many channel messages in how many seconds from one +# host constitutes a flood. Setting this to 0, 0:X or X:0 disables +# flood protection for the channel, where X is an integer >= 0. +# +# flood-deop 3:10 +# Set here how many deops in how many seconds from one host constitutes +# a flood. Setting this to 0, 0:X or X:0 disables deop flood protection +# for the channel, where X is an integer >= 0. +# +# flood-kick 3:10 +# Set here how many kicks in how many seconds from one host constitutes +# a flood. Setting this to 0, 0:X or X:0 disables kick flood protection +# for the channel, where X is an integer >= 0. +# +# flood-join 5:60 +# Set here how many joins in how many seconds from one host constitutes +# a flood. Setting this to 0, 0:X or X:0 disables join flood protection +# for the channel, where X is an integer >= 0. +# +# flood-ctcp 3:60 +# Set here how many channel ctcps in how many seconds from one host +# constitutes a flood. Setting this to 0, 0:X or X:0 disables ctcp flood +# protection for the channel, where X is an integer >= 0. +# +# flood-nick 5:60 +# Set here how many nick changes in how many seconds from one host +# constitutes a flood. Setting this to 0, 0:X or X:0 disables nick flood +# protection for the channel, where X is an integer >= 0. +# +# A complete list of all available channel settings: +# +# enforcebans +# When a ban is set, kick people who are on the channel and match +# the ban? +# +# dynamicbans +# Only activate bans on the channel when necessary? This keeps +# the channel's ban list from getting excessively long. The bot +# still remembers every ban, but it only activates a ban on the +# channel when it sees someone join who matches that ban. +# +# userbans +# Allow bans to be made by users directly? If turned off, the bot +# will require all bans to be made through the bot's console. +# +# dynamicexempts +# Only activate exempts on the channel when necessary? This keeps +# the channel's exempt list from getting excessively long. The bot +# still remembers every exempt, but it only activates a exempt on +# the channel when it sees a ban set that matches the exempt. The +# exempt remains active on the channel for as long as the ban is +# still active. +# +# userexempts +# Allow exempts to be made by users directly? If turned off, the +# bot will require all exempts to be made through the bot's console. +# +# dynamicinvites +# Only activate invites on the channel when necessary? This keeps +# the channel's invite list from getting excessively long. The bot +# still remembers every invite, but the invites are only activated +# when the channel is set to invite only and a user joins after +# requesting an invite. Once set, the invite remains until the +# channel goes to -i. +# +# userinvites +# Allow invites to be made by users directly? If turned off, the +# bot will require all invites to be made through the bot's console. +# +# autoop +# Op users with the +o flag as soon as they join the channel? +# This is insecure and not recommended. +# +# autohalfop +# Halfop users with the +l flag as soon as they join the channel? +# This is insecure and not recommended. +# +# bitch +# Only let users with +o) flag be opped on the channel? +# +# greet +# Say a user's info line when they join the channel? +# +# protectops +# Re-op a user with the +o flag if they get deopped? +# +# protecthalfops +# Re-halfop a user with the +l flag if they get dehalfopped? +# +# protectfriends +# Re-op a user with the +f flag if they get deopped? +# +# statuslog +# Log the channel status line every 5 minutes? This shows the bot's +# status on the channel (op, voice, etc.), the channel's modes, and +# the total number of members, ops, voices, regular users, and +b, +# +e, and +I modes on the channel. A sample status line follows: +# +# [01:40] @#lamest (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7] +# +# revenge +# Remember people who deop/kick/ban the bot, valid ops, or friends +# and punish them? Users with the +f flag are exempt from revenge. +# +# revengebot +# This is similar to to the 'revenge' option, but it only triggers +# if a bot gets deopped, kicked or banned. +# +# autovoice +# Voice users with the +v flag when they join the channel? +# +# secret +# Prevent this channel from being listed on the botnet? +# +# shared +# Share channel-related user info for this channel? +# +# cycle +# Cycle the channel when it has no ops? +# +# dontkickops +# Do you want the bot not to be able to kick users who have the +o +# flag, letting them kick-flood for instance to protect the channel +# against clone attacks. +# +# inactive +# This prevents the bot from joining the channel (or makes it leave +# the channel if it is already there). It can be useful to make the +# bot leave a channel without losing its settings, channel-specific +# user flags, channel bans, and without affecting sharing. +# +# seen +# Respond to seen requests in the channel? The seen module must be +# loaded for this to work. +# +# nodesynch +# Allow non-ops to perform channel modes? This can stop the bot from +# fighting with services such as ChanServ, or from kicking IRCops when +# setting channel modes without having ops. +# +# static +# Allow only permanent owners to remove the channel? + +# To add a channel to eggdrop, please enter the bot's partyline and type +# .+chan #channel. Check also .help chanset and .help chaninfo. +# You can still add a channel here and it will be saved if you have a +# chanfile. We recommend you to use the partyline though. +# +channel add #eggdrop + + +#### SERVER MODULE #### + +# This module provides the core server support. You have to load this +# if you want your bot to come on IRC. Not loading this is equivalent +# to the old NO_IRC define. +loadmodule server + +# Control certificate verification for irc servers. For a description of the +# possible values, look at the SSL SETTINGS section above. +set ssl-verify-server 1 + +## What is your network? +## Options are: +## EFnet +## IRCnet +## Undernet +## DALnet +## Libera +## freenode +## QuakeNet +## Rizon +## Twitch (This requires twitch.mod to be loaded as well) +## Other (This is a good, sane default option to use if your network/ircd is +## not listed here. Additional configuration options for this setting +## can be found further down in the IRC MODULE section) +set net-type "Other" + +# Set the nick the bot uses on IRC, and on the botnet unless you specify a +# separate botnet-nick, here. +set nick "eggdrop" + +# Set the alternative nick which the bot uses on IRC if the nick specified +# by 'set nick' is unavailable. All '?' characters will be replaced by random +# numbers. +set altnick "eggdrop_" + +# Set what should be displayed in the real-name field for the bot on IRC. +# This can not be blank, it has to contain something. +set realname "/msg eggdrop hello" + +# This is a Tcl script to be run immediately after connecting to a server. If +# you want to authenticate Eggdrop with NickServ, uncomment and edit the middle +# line below. +bind evnt - init-server evnt:init_server + +proc evnt:init_server {type} { + global botnick + putquick "MODE $botnick +i-ws" +# putserv "PRIVMSG NickServ :identify <password>" +} + +# Set the default port which should be used if none is specified with +# '.jump' or in 'set servers'. +set default-port 6697 + +# This is the bot's server list. The bot will start at the first server listed, +# and cycle through them whenever it gets disconnected. You need to change these +# servers to YOUR network's servers. +# +# The format is: +# server add <server> [port [password]] +# Prefix the port with a plus sign to attempt a SSL connection: +# server add <server> +port [password] +# +# Both the port and password fields are optional. If a port isn't specified, +# the default-port setting will be used. If you want to set a password or use +# SSL, you must specify a port. +# +# This format is new as of version 1.9.0. The previous method using +# set servers {} will still work for now, but is deprecated and will be removed +# in a future release. +server add irc.terminaldweller.com +6697 + +#### CAP Features #### +# This section controls IRCv3 capabilities supported natively by Eggdrop. You +# can enable individual settings here to be requested as part of the +# registration process with the IRC server. Not all servers support all CAP +# features. https://ircv3.net/support/networks.html maintains a list of some +# popular servers, and you can also use '.tcl cap ls' from the partyline +# to list capabilities available on that server. +# +# The capabilities currently known to be supported by Eggdrop are as follows: +# +# account-notify, account-tag, away-notify, chghost, echo-message, +# extended-join, invite-notify, message-tags, server-time, sasl, setname, +# +typing +# + +# SASL is a method that allows Eggdrop to authenticate with a NickServ service +# as part of the connection process to a server, eliminating the need to later +# authenticate via a /msg command. +# +# To request SASL authentication via CAP, set this to 1 +set sasl 1 + +# Set SASL mechanism to authenticate with. +# Options are: +# 0 = PLAIN (normal user/pass exchange, only encrypted +# if connected to the IRC server with a +# SSL/TLS connection) +# +# 1 = ECDSA-NIST256P-CHALLENGE (Uses a certificate; usually requires a +# public key to be registered with NickServ +# or other similar service. Set certificate +# to use in sasl-ecdsa-key setting below) +# +# 2 = EXTERNAL (Some other method you set up. Certificates +# used are defined in ssl-certificate and +# ssl-privatekey settings in SSL section) +# +set sasl-mechanism 0 + +# Set username to authenticate to IRC NickServ with +set sasl-username "eggdrop" + +# Set password to authenticate to IRC NickServ with +set sasl-password "" # pragma: allowlist secret + +# Specify the location of certificate to use for the SASL +# ecdsa-nist256p-challenge. An ECDSA certificate can be generated with the +# command: +# openssl ecparam -genkey -name prime256v1 -out eggdrop-ecdsa.pem +#set sasl-ecdsa-key "eggdrop-ecdsa.pem" + +# Set SASL failure action +# If SASL authentication fails, do you want to connect to the server anyway? +# Set this to 0 to disconnect and retry until success, or 1 to continue +# connecting to the server without SASL authentication. +set sasl-continue 0 +# +# Timeout (in seconds) before giving up SASL authentication +#set sasl-timeout 15 + +# To request the account-notify feature via CAP, set this to 1 +set account-notify 1 + +# To request the extended-join feature via CAP, set this to 1 +set extended-join 1 + +# To request the invite-notify feature via CAP, set this to 1 +#set invite-notify 0 + +# To request the message-tags feature via CAP, set this to 1 +#set message-tags 0 + +# To request the account-tag feature via CAP, set this to 1 +# This can be enabled if necessary for imperfect account tracking if you don't +# have the WHOX (use_354), account-notify and extended-join features available +# see doc/ACCOUNTS for details +#set account-tag 0 + +# If you have any additional CAP features you would like to request at +# registration but are not listed above, set them here as space separated +# strings. Setting features here does not guarantee Eggdrop's ability to support +# them. +#set cap-request "feature1 feature2 feature3" + +#### End of CAP features #### + +# Number of seconds to wait between transmitting queued lines to the server. +# Lower this value at your own risk. ircd is known to start flood control at +# 512 bytes/2 seconds. +set msg-rate 2 + +# This setting makes the bot try to get his original nickname back if its +# primary nickname is already in use. +set keep-nick 1 + +# This setting makes the bot squelch the error message when rejecting a DCC +# CHAT, SEND or message command. Normally, Eggdrop notifies the user that the +# command has been rejected because they don't have access. Note that sometimes +# IRC server operators detect bots that way. +set quiet-reject 1 + +# If you want your bot to answer lower case ctcp requests (non rfc- +# compliant), set this setting to 1. mIRC will do this, most other +# clients will not. +set lowercase-ctcp 0 + +# Set how many ctcps should be answered at once. +set answer-ctcp 3 + +# Set here how many msgs in how many seconds from one host constitutes +# a flood. If you set this to 0:0, msg flood protection will be disabled. +set flood-msg 5:60 + +# Set here how many ctcps in how many seconds from one host constitutes +# a flood. If you set this to 0:0, ctcp flood protection will be disabled. +set flood-ctcp 3:60 + +# This setting defines how long Eggdrop should wait before moving from one +# server to another on disconnect. If you set 0 here, Eggdrop will not wait +# at all and will connect instantly. Setting this too low could result in +# your bot being K:Lined. +set server-cycle-wait 60 + +# Set here how long Eggdrop should wait for a response when connecting to a +# server before giving up and moving on to next server. +set server-timeout 60 + +# Set this to 1 if Eggdrop should check for stoned servers? (where the +# server connection has died, but Eggdrop hasn't been notified yet). +set check-stoned 1 + +# If you want your bot to exit the server if it receives an ERROR message, +# set this to 1. +set serverror-quit 1 + +# Set here the maximum number of lines to queue to the server. If you're +# going to dump large chunks of text to people over IRC, you will probably +# want to raise this. 300 is fine for most people though. +set max-queue-msg 300 + +# If you want Eggdrop to trigger binds for ignored users, set this to 1. +set trigger-on-ignore 0 + +# This setting configures PUBM and MSGM binds to be exclusive of PUB and MSG +# binds. This means if a MSGM bind with the mask "*help*" exists and is +# triggered, any MSG bindings with "help" in their mask will not be +# triggered. Don't enable this unless you know what you are doing! +set exclusive-binds 0 + +# Allow identical messages in the mode queue? +set double-mode 1 + +# Allow identical messages in the server queue? +set double-server 1 + +# Allow identical messages in the help queue? +set double-help 1 + +# This optimizes the kick queue. It also traces nick changes and parts in +# the channel and changes the kick queue accordingly. +# Options are: +# 0 = Turn it off. +# 1 = Optimize the kick queue by summarizing kicks. +# 2 = Trace nick changes and parts on the channel and change the queue +# accordingly. For example, bot will not try to kick users who have +# already parted the channel. +# ATTENTION: Setting 2 is very CPU intensive. +set optimize-kicks 1 + +# If your network supports more recipients per command then 1, you can +# change this behavior here. Set this to the number of recipients per +# command, or set this to 0 for unlimited. +set stack-limit 4 + +# Sets the default RPL_ISUPPORT (raw 005) information to use as a fallback. +# These MUST be compatible to all IRCds you might want to connect to. +# The actual server settings overwrite these, so you shouldn't need to modify. +#set isupport-default "CASEMAPPING=rfc1459 CHANNELLEN=80 NICKLEN=9 CHANTYPES=#& PREFIX=(ov)@+ CHANMODES=b,k,l,imnpst MODES=3 MAXCHANNELS=10 TOPICLEN=250 KICKLEN=250 STATUSMSG=@+" + +### SERVER MODULE - OTHER NETWORKS (net-type "Other") ### + +# This settings defines how umode +r is understood by Eggdrop. Some networks +# use +r to indicate a restricted connection. If this is your case, and you +# want your bot to leave restricted servers and jump to the next server on its +# list, then set it to 1. The default setting is 0. +#set check-mode-r 0 + +# This setting allows you to specify the maximum nick-length supported by your +# network. The default setting is 9. The maximum supported length by Eggdrop +# is 32. +#set nick-len 9 + + +#### CTCP MODULE #### + +# This module provides the normal ctcp replies that you'd expect. +# Without it loaded, CTCP CHAT will not work. The server module +# is required for this module to function. +loadmodule ctcp + +# Set here how the ctcp module should answer ctcps. +# Options are: +# 0 = Normal behavior is used. +# 1 = The bot ignores all ctcps, except for CHAT and PING requests +# by users with the +o flag. +# 2 = Normal behavior is used, however the bot will not answer more +# than X ctcps in Y seconds (defined by 'set flood-ctcp'). +set ctcp-mode 0 + +# There are also several variables to help make your bot less noticeable. +# They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set +# them to values you'd like. + + +#### IRC MODULE #### + +# This module provides basic IRC support for your bot. You have to +# load this if you want your bot to come on IRC. The server and channels +# modules must be loaded for this module to function. +loadmodule irc + +# Set this to 1 if you want to bounce all server bans. +set bounce-bans 0 + +# Set this to 1 if you want to bounce all server exemptions (+e modes). +# This is disabled if use-exempts is disabled. +set bounce-exempts 0 + +# Set this to 1 if you want to bounce all server invitations (+I modes). +# This is disabled if use-invites is disabled. +set bounce-invites 0 + +# Set this to 1 if you want to bounce all server modes. +set bounce-modes 0 + +# The following settings should be left commented unless the default values +# are being overridden. By default, exempts and invites are on for EFnet and +# IRCnet, but off for all other large networks. This behavior can be modified +# with the following 2 flags. If your network doesn't support +e/+I modes then +# you will be unable to use these features. +# +# Do you want to enable exempts (+e modes)? +#set use-exempts 0 + +# Do you want to enable invites (+I modes)? +#set use-invites 0 + +# If you want people to be able to add themselves to the bot's userlist +# with the default userflags (defined above in the config file) via the +# 'hello' msg command, set this to 1. +set learn-users 0 + +# Set here the time (in seconds) to wait for someone to return from a netsplit +# (i.e. wasop will expire afterwards). Set this to 1500 on IRCnet since its +# nick delay stops after 30 minutes. +set wait-split 600 + +# Set here the time (in seconds) that someone must have been off-channel +# before re-displaying their info line. +set wait-info 180 + +# Set this to the maximum number of bytes to send in the arguments +# of modes sent to the server. Most servers default this to 200. +set mode-buf-length 200 + +# Many IRCops find bots by seeing if they reply to 'hello' in a msg. +# You can change this to another word by un-commenting the following +# two lines and changing "myword" to the word wish to use instead of +# 'hello'. It must be a single word. +#unbind msg - hello *msg:hello +#bind msg - myword *msg:hello + +# Many takeover attempts occur due to lame users blindly /msg ident'ing to +# the bot and attempting to guess passwords. We now unbind this command by +# default to discourage them. You can enable these commands by commenting the +# following two lines. +unbind msg - ident *msg:ident +unbind msg - addhost *msg:addhost + +# Some IRC servers are using some non-standard op-like channel prefixes/modes. +# Define them here so the bot can recognize them. Just "@" should be fine for +# most networks. Un-comment the second line for some UnrealIRCds. + +set opchars "@" +#set opchars "@&~" + +# If you are so lame you want the bot to display peoples info lines, even +# when you are too lazy to add their chanrecs to a channel, set this to 1. +# *NOTE* This means *every* user with an info line will have their info +# line displayed on EVERY channel they join (provided they have been gone +# longer than wait-info). +set no-chanrec-info 0 + +### IRC MODULE - IRCnet SPECIFIC FEATURES (net-type "IRCnet") ### + +# Attention: Use these settings *only* if you set 'net-type' to "IRCnet"! + +# At the moment, the current IRCnet IRCd version (2.10) doesn't support the +# mixing of b, o and v modes with e and I modes. This might be changed in the +# future, so use 1 at the moment for this setting. +set prevent-mixing 1 + +### IRC MODULE - OTHER NETWORKS (net-type "Other") ### + +# Attention: Use these settings *only* if you set net-type to "Other"! + +# If your network supports more users per kick command then 1, you can +# change this behavior here. Set this to the number of users to kick at +# once, or set this to 0 for all at once. +#set kick-method 1 + +# Some networks don't include the +l limit and +k or -k key modes +# in the modes-per-line limitation. Set include-lk to 0 for +# these networks. +#set include-lk 1 + +# If your network doesn't use rfc 1459 compliant string matching routines, +# set this to 0. +#set rfc-compliant 1 + + +#### TWITCH MODULE #### + +# This module attempts to provide connectivity with the Twitch gaming platform. +# While Twitch provides an IRC gateway to connect with it's streaming service, +# it does not claim to (and certainly does not) follow the IRC RFC in any +# meaningful way. The intent of this module is not to provide the full spectrum +# of management functions typically associated with Eggdrop; please see the docs +# for additional information. Only load this if you are connecting to Twitch! +# Please see doc/TWITCH for Twitch-specific setup information, like how to +# configure the required CAP settings in the IRC section above. +#loadmodule twitch + + +#### TRANSFER MODULE #### + +# The transfer module provides DCC SEND/GET support and userfile transfer +# support for userfile sharing. Un-comment the next line to load it if you +# need this functionality. +#loadmodule transfer + +# Set here the maximum number of simultaneous downloads to allow for +# each user. +set max-dloads 3 + +# Set here the block size for dcc transfers. ircII uses 512 bytes, +# but admits that it may be too small. 1024 is standard these days. +# 0 is turbo-dcc (recommended). +set dcc-block 0 + +# Enable this setting if you want to copy files to a temporary location before +# sending or receiving them. This might be useful for file stability, but if +# your directories are NFS mounted, it's a pain. Setting this to 1 is not +# advised for big files or if you're low on disk space. +set copy-to-tmp 1 + +# Set here the time (in seconds) to wait before an inactive transfer times out. +set xfer-timeout 30 + +# By default, Eggdrop will abort the linking process if userfile sharing is +# enabled but the userfile transfer fails. Set this to 0 to keep the bots +# linked if the userfile transfer fails and retry every minute (both bots must +# be v1.9.0 or higher). +#set sharefail-unlink 1 + +#### SHARE MODULE #### + +# This module provides userfile sharing support between two directly +# linked bots. The transfer and channels modules are required for this +# module to correctly function. Un-comment the following line to load +# the share module. +#loadmodule share + +# Settings in this section must be un-commented before setting. + +# When two bots get disconnected, this setting allows them to create a +# resync buffer which saves all changes done to the userfile during +# the disconnect. When they reconnect, they will not have to transfer +# the complete user file, but, instead, just send the resync buffer. +# +# NOTE: This has been known to cause loss of channel flags and other +# problems. Using this setting is not recommended. +#set allow-resync 0 + +# This setting specifies how long to hold another bots resync data +# before flushing it. +#set resync-time 900 + +# When sharing user lists, DON'T ACCEPT global flag changes from other bots? +# NOTE: The bot will still send changes made on the bot, it just won't accept +# any global flag changes from other bots. This overrides the private-globals +# setting (below). +#set private-global 0 + +# When sharing user lists, if private-global isn't set, which global flag +# changes from other bots should be ignored? +#set private-globals "mnot" + +# When sharing user lists, don't accept ANY userfile changes from other +# bots? Paranoid people should use this feature on their hub bot. This +# will force all userlist changes to be made via the hub. +#set private-user 0 + +# This setting makes the bot discard its own bot records in favor of +# the ones sent by the hub. +# NOTE: No passwords or botflags are shared, only ports and +# address are added to sharing procedure. This only works with hubs that +# are v1.5.1 or higher. +#set override-bots 0 + + +#### COMPRESS MODULE #### + +# This module provides support for file compression. This allows the +# bot to transfer compressed user files and therefore save a significant amount +# of bandwidth. The share module must be loaded to load this module. Un-comment +# the following line to the compress module. +#loadmodule compress + +# Allow compressed sending of user files? The user files are compressed with +# the compression level defined in `compress-level'. +set share-compressed 1 + +# This is the default compression level used. These levels are the same as +# those used by GNU gzip. +#set compress-level 9 + + +#### FILESYSTEM MODULE #### + +# This module provides an area within the bot where users can store and +# manage files. With this module, the bot is usable as a file server. The +# transfer module is required for this module to function. Un-comment +# the following line to load the filesys module. +#loadmodule filesys + +# Set here the 'root' directory for the file system. +set files-path "/home/mydir/filesys" + +# If you want to allow uploads, set this to the directory uploads +# should be put into. Set this to "" if you don't want people to +# upload files to your bot. +set incoming-path "/home/mydir/filesys/incoming" + +# If you don't want to have a central incoming directory, but instead +# want uploads to go to the current directory that a user is in, set +# this setting to 1. +set upload-to-pwd 0 + +# Eggdrop creates a '.filedb' file in each subdirectory of your file area +# to keep track of its own file system information. If you can't do that (for +# example, if the dcc path isn't owned by you, or you just don't want it to do +# that) specify a path here where you'd like all of the database files to be +# stored instead. +set filedb-path "" + +# Set here the maximum number of people that can be in the file area at once. +# Setting this to 0 makes it effectively infinite. +set max-file-users 20 + +# Set here the maximum allowable file size that will be received (in KB). +# Setting this to 0 makes it effectively infinite. +set max-filesize 1024 + + +#### NOTES MODULE #### + +# This module provides support for storing of notes for users from each other. +# Note sending between currently online users is supported in the core, this is +# only for storing the notes for later retrieval. +loadmodule notes + +# Set here the filename where private notes between users are stored. +set notefile "eggdrop.notes" + +# Set here the maximum number of notes to allow to be stored for each user +# (to prevent flooding). +set max-notes 50 + +# Set here how long (in days) to store notes before expiring them. +set note-life 60 + +# Set this to 1 if you want to allow users to specify a forwarding address +# for forwarding notes to another account on another bot. +set allow-fwd 0 + +# Set this to 1 if you want the bot to let people know hourly if they have +# any notes. +set notify-users 0 + +# Set this to 1 if you want the bot to let people know on join if they have +# any notes. +set notify-onjoin 1 + +# Comment out this next line. Otherwise, your bot won't start. +# die "You didn't edit your config file completely like you were told, did you?" + +# This next line checks if eggdrop is being executed from the source directory +if {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} } + + +#### CONSOLE MODULE #### + +# This module provides storage of console settings when you exit the +# bot or type .store on the partyline. +loadmodule console + +# Save users console settings automatically? Otherwise, they have +# to use the .store command. +set console-autosave 1 + +# If a user doesn't have any console settings saved, which channel +# do you want them automatically put on? +set force-channel 0 + +# Enable this setting if a user's global info line should be displayed +# when they join a botnet channel. +set info-party 0 + + +#### WOOBIE MODULE #### + +# This is for demonstrative purposes only. If you are looking for starting +# point in writing modules, woobie is the right thing. +#loadmodule woobie + + +#### SEEN MODULE #### + +# This module provides very basic seen commands via msg, on channel or via dcc. +# This module works only for users in the bot's userlist. If you are looking for +# a better and more advanced seen module, try the gseen module by G'Quann. You +# can find it at http://www.kreativrauschen.com/gseen.mod/. +#loadmodule seen + + +#### ASSOC MODULE #### + +# This module provides assoc support, i.e. naming channels on the botnet. +# You can load it by un-commenting the following line. +#loadmodule assoc + + +#### UPTIME MODULE #### + +# This module reports uptime statistics to http://uptime.eggheads.org. +# Go look and see what your uptime is! It takes about 9 hours to show up, +# so if your bot isn't listed, try again later. The server module must be +# loaded for this module to function. +# +# Information sent to the server includes the bot's uptime, botnet-nick, +# server, version, and IP address. This information is stored in a temporary +# logfile for debugging purposes only. The only publicly available information +# will be the bot's botnet-nick, version and uptime. If you do not wish for this +# information to be sent, comment out the following line. +loadmodule uptime + + +#### IDENT MODULE #### + +# This module adds Eggdrop support for the externally-provided oident +# service, or alternatively the ability for Eggdrop to act as its own ident +# daemon. Please read the docs at doc/settings/mod.ident for additional +# information on correctly configuring this section. If you don't know +# what ident or oident are, it is safe to leave this section commented. +#loadmodule ident + +# Set the ident method you wish to use. Each of these methods requires +# some form of external configuration in order to function. See +# doc/settings/mod.ident for additional information. +# Options are: +# 0 = oidentd +# Your bot will overwrite $HOME/.oidentd.conf right before opening the +# socket to the IRC server with the global reply. +# NOTE: requires the oidentd service to be running on the host machine +# 1 = Builtin +# Your bot will automatically turn its builtin identd on and off when +# needed so it shouldn't conflict with other identds that do the same. +# NOTE: Eggdrop must be granted permissions on the host system to bind +# to port 113. +#set ident-method 0 + +# Set the ident port to use for ident-method 1. +#set ident-port 113 + +##### SCRIPTS ##### + +# This is a good place to load scripts to use with your bot. + +# This line loads script.tcl from the scripts directory inside your Eggdrop's +# directory. All scripts should be put there, although you can place them where +# you like as long as you can supply a fully qualified path to them. +# +# source scripts/script.tcl + +source scripts/alltools.tcl +source scripts/action.fix.tcl + +# This script enhances Eggdrop's built-in dcc '.whois' command to allow all +# users to '.whois' their own handle. +source scripts/dccwhois.tcl + +# This script provides many useful informational functions, like setting +# users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add +# extra entries. +source scripts/userinfo.tcl +loadhelp userinfo.help + +# Use this script for Tcl and Eggdrop backwards compatibility. +# NOTE: This can also cause problems with some newer scripts. +#source scripts/compat.tcl + +# A few IRC networks (EFnet and Undernet) have added some simple checks to +# prevent drones from connecting to the IRC network. While these checks are +# fairly trivial, they will prevent your Eggdrop from automatically +# connecting. In an effort to work-around these, we have developed a couple of +# TCL scripts to automate the process. + +if {[info exists net-type]} { + switch -- ${net-type} { + "EFnet" { + # EFnet + source scripts/quotepong.tcl + } + "0" { + # EFnet + source scripts/quotepong.tcl + } + } +} |