Configuration d'un eggdrop

Un article de Base de connaissances eggdrops & TCL.
Jump to: navigation, search

Les explications données ici concernent la version 1.6.18 d'Eggdrop sous système *nix

Il y a deux fichiers que vous devez éditer avant de pouvoir démarrer votre Eggdrop - le fichier de configuration et (optionnel) le fichier botchk. Vous pouvez trouver un exemple de fichier de configuration dans le répertoire où vous avez extrait les sources de l'Eggdrop, sous le nom de 'eggdrop.conf', et le fichier 'botchk' se trouve dans le sous-répertoire scripts/.

Si vous avez téléchargé Eggdrop sur votre machine, vous pouvez décompresser le tarball (.tar.gz) et avoir le fichier exemple ainsi que la documentation en local. Vous pouvez utiliser Notepad pour les éditer, mais il est préférable d'utiliser un éditeur qui supporte le standard Unix comme Crimson.

Sommaire

Editer le fichier de configuration

Les versions précédentes de la série 1.6 étaient fournies avec eggdrop.simple.conf, eggdrop.advanced.conf, et eggdrop.complete.conf, avec le simple qui était le meilleur exemple de fichier de configuration pour un débutant. Cela a changé depuis la version 1.6.13, et il n'y a plus qu'un seul exemple de fichier complet qui est eggdrop.conf.

Bien que le fichier rende les choses plus simples pour les développeurs et les habitués, la configuration complète fait plus de 1000 lignes et peut rebutter les personnes qui débutent.

Vous devez tout d'abord renommer le fichier exemple, lui donner le nick de l'Eggdrop (i.e. sympa.conf) est assez commun et logique. Dans le fichier de configuration, vous indiquez les serveurs IRC que le robot doit utiliser, les canaux où le robot doit être, et les options de l'Eggdrop qui conviennent le mieux à votre utilisation. Eggdrop a de multiples options à configurer, et éditer le fichier peut prendre un certain temps. Je vous recommande d'aller au bout du fichier pour vérifier que le robot est parfaitement bien configuré pour vos besoins. Toutes les options du fichier sont commentés - lisez les commentaires attentivement. Certains peuvent être un peu vague.

Si vous éditez le fichier de configuration sur votre machine (c'est habituellement une meilleure idée que de l'éditer directement sur le shell) vous aurez ensuite besoin de l'uploader dans le répertoire du robot.

Ci-dessous, j'ai mis quelques recommandations pour la plupart des réglages, mais la liste n'est pas complète. Vous remarquerez que plusieurs options sont mises en commentaire (i.e. précédées d'un # (hash)) - une option en commentaire peut signifier que le réglage n'est pas utilisé ou qu'on utilise la valeur par défaut. Vous pouvez décommenter l'option en enlevant le hash. La plupart des options peuvent être réglées à 0 ou a 1 - 0 signifie habituellement que l'option est désactivée, alors que 1 signifie activé.

Notez que si vous utilisez une version d'Eggdrop plus ancienne que la 1.3.27, certains réglages indiqués ici ne fonctionneront pas (s'ils ne sont pas dans le fichier exemple complet inclus dans l'archive, il ne seront pas supportés).

Nous laissons volontairement les commentaires et valeurs d'origine afin que vous puissiez aisémment les retrouver. Les blocs explicatifs sont eux complètement traduits.

Le signe # au début d'une ligne indique un commentaire. Cela peut être une simple information ou un réglage désactivé.

Les arguments des commandes et paramêtres sont entre <> ou []. Les paramêtres entre <> sont requis alors que ceux entre [] sont optionnels.

Chemin d'accès

Ceci est le chemin complet vers l'exécutable eggdrop. Vous pouvez l'obtenir en vous mettant dans le répertoire et en tapant pwd et en y ajoutant /eggdrop. Ceci n'est pas utilisé par un Windrop.

#! /path/to/executable/eggdrop
# ^- This should contain a fully qualified path to your Eggdrop executable.

Réglages basiques

Utilisateur

C'est ici que vous définissez le nom d'utilisateur (username de l'hostmask) de votre robot sur IRC. Il n'a aucun effet si vous utilisez un daemon ident sur la machine.

# 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.
set username "lamest"

Ceci permet de définir le contact qui sera affiché lorsqu'on fera .status en party-line ou /msg help.

# This setting defines which contact person should be shown in .status,
# /msg help, and other places. You really should include this information.
set admin "Lamer <email: lamer@lamest.lame.org>"

Ceci est utilisé lorsque vous partagez votre eggdrop sur un botnet. Indiquez le nom du réseau sur lequel se trouve l'Eggdrop.

# 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 "I.didn't.edit.my.config.file.net"

Vous pouvez ici indiquer la langue dans laquelle vous voulez que l'eggdrop s'adresse à vous. Les langues disponibles sont: danish (danois), english (anglais, par défaut), french (français), finnish (finnois), german (allemand).

# 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.
#addlang "french"

Fuseau horaire

Ceci est le fuseau horaire sous forme littérale et n'est utilisé que de manière interne (fichiers de log et scripts). Le code du fuseau horaire est une chaine de 3 lettres, comme CET pour Central European Time.

# This setting defines the 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"

L'offset indique la différence (en heures) entre l'heure universelle (UTC ou GMT) et l'heure locale (du shell). L'offset peut aller de -23 à 23. Si vous êtes en GMT+1, votre offset est alors de -1.

# 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 "5"

Si vous voulez utiliser le réglage de fuseau horaire partout où c'est possible (et pas uniquement dans les scripts), décommentez la ligne suivante.

# 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"

Réseau

Si vous utilisez un hôte virtuel (votre machine possède plusieurs adresses IP), vous pouvez ici spécifier l'adresse IP ou le nom d'hôte sur lequel l'eggdrop doit écouter.

# 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. You may also want to set the hostname here if
# Eggdrop has trouble detecting it when it starts up.
#set my-hostname "virtual.host.com"
#set my-ip "99.99.0.0"

Fichiers de log

Eggdrop peut enregistrer (loguer) beaucoup d'évènements, de l'activité des utilisateurs sur un canal aux commandes entrées en Party Line en passant par les transferts de fichiers.

Par défaut, les fichiers de logs sont conservés 24h après quoi ils sont renommés en logfile.yesterday. Après 48h, ils sont écrasés par le fichier du jour suivant.

Les évènements pouvant être logués sont classés par catégories:

  • b : informations sur le botnet et le partage de fichiers utilisateurs
  • c : commandes
  • d : informations de debuggage
  • h : trafic de partage brut
  • j : joins, parts, quits, et netsplits sur le canal
  • k : kicks, bans, et changements de mode sur le canal
  • m : messages privés, notices et ctcp
  • o : informations diverses et erreurs (très important)
  • p : messages publics sur le canal
  • r : trafic brut entrant du serveur (tous les messages que le serveur envoit à l'eggdrop)
  • s : connexions, déconnexions et notices du serveur
  • t : trafic brut telnet
  • v : trafic brut sortant du serveur (tous les messages que l'eggdrop envoit au serveur)
  • w : wallops (l'eggdrop doit avoir le mode +w)
  • x : transferts de fichiers et commandes du système de fichiers
Attention.png les modes d, h, r, t et v peuvent remplir très vite votre quota d'espace disque.

Chaque fichier de log appartient à un canal. Vous pouvez si vous le voulez n'utiliser qu'un seul fichier en l'assignant au canal "*"

Nombre maximum de fichiers logs autorisés. Ce nombre peut être augmenté, mais ne le réduisez pas.

# This is the maximum number of logfiles allowed. This setting can be
# increased; however, don't decrease it.
set max-logs 5

Taille maximale de vos fichiers de log. Mettez 0 pour désactiver cette fonctionnalité. La valeur est en ko. Notez bien que ceci n'est actif que si vous avez désactivé keep-all-logs

# 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

Activation de la fonctionnalité de log rapide. Cette fonctionnalité est utile si vous décidez d'enregistrer les messages publics d'un canal pour vous en servir (par exemple) sur une page web et que vous devez les avoir à jour. Cela peut augmenter votre consommation de CPU mais diminuera l'utilisation de la mémoire.

# 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

Ce réglage vous permet d'activer le log du traffic raw (r, v, t, h). Ces logs ne sont visibles que par les owners

Attention.png Activer ce réglage peut provoquer une faille de sécurité.
# 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 botnet traffic via console/log mode 't', and raw 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

Ceci crée un fichier de log appelé eggdrop.log qui contient les messages privés, les ctcp, les commandes, les erreurs et les informations de tous les canaux.

# This creates a logfile named eggdrop.log containing private msgs/ctcps,
# commands, errors, and misc. info from any channel.
logfile mco * "logs/eggdrop.log"

Ceci crée un fichier de log appelé lamest.log qui contient les joins, parts, netsplits, kicks, bans, changements de mode et messages publics du canal #lamest

# This creates a logfile named lamest.log containing joins, parts,
# netsplits, kicks, bans, mode changes, and public chat on the
# channel #lamest.
logfile jpk #lamest "logs/lamest.log"

Utilisez ce réglage pour avoir un horodatage dans le fichier de log.

# Use this feature to timestamp entries in the log file.
set log-time 1

Si vous désirez garder tous vos fichiers de log, passez ce réglage à 1. Les fichiers de log seront suffixé de ".[jour, 2 chiffres][mois, 3 lettres][année, 4 chiffres]".
Notez que ce réglage risque de vite épuiser votre quota disque.

# 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

Si keep-all-logs est à 1, ce réglage permet de modifier le format du suffixe utilisé pour le nommage des fichiers.

# 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.
# NOTE: On systems which don't support strftime, the default format will
# be used _always_.
set logfile-suffix ".%d%b%Y"

Vous pouvez spécifier l'heure à laquelle Eggdrop va changer de fichier de log. Vous devez utiliser la notation militaire pour définir l'heure, par exemple 300 pour 03h du matin, 1930 pour 19h30.

# 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

Passez ce paramètre à 1 pour que les messages "Writing user file..." et "Writing channel file..." n'apparaissent pas.

# "Writing user file..." and "Writing channel file..." messages won't be
# logged anymore if this option is enabled.
set quiet-save 0

Console

Ceci est le réglage de votre console par défaut.

##### 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 "mkcobxs"

Système de fichiers

Vous devez spécifier ici le nom du fichier "utilisateurs" (userfile).

# Specify here the filename your userfile should be saved as.
set userfile "LamestBot.user"

Si vous désirez utiliser un fichier de sauvegarde du PID (numéro du processus utilisé par l'eggdrop) qui ne soit pas pid.(botnet-nick), indiquez ici le nom à utiliser.

# 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"

Si vous voulez que le fichier utilisateur soit trié avant d'être sauvé, activez ce réglage. La sauvegarde du fichier utilisateur prendra un peu plus de ressources.

# If you want your userfile to be sorted upon saving, enable this setting.
# This causes the bot to use bit more CPU when saving the usefile.
set sort-users 0

Indiquez ici où sont situés les fichiers d'aides.

Attention.png Ne modifiez ceci que si vous êtes sûr de vous
# 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/"

Indiquez ici l'emplacement des fichiers de texte. Ceci est utilisé par certaines commandes Tcl et DCC.

# Specify here where Eggdrop should look for text files. This is used for
# certain Tcl and DCC commands.
set text-path "text/"

Indiquez ici l'emplacement des fichiers temporaires.

# Set here a place to store temporary files.
set temp-path "/tmp"

Le MOTD (Message Of The Day, Message du Jour) est affiché lorsque les utilisateurs se connectent par dcc chat ou par telnet.

# 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"

La bannière est affichée lorsque les utilisateurs se connectent par telnet.

# This banner will be displayed on telnet connections. Look at
# doc/TEXT-SUBSTITUTIONS for options.
set telnet-banner "text/banner"

Vous pouvez modifier les permissions des fichiers utilisateurs, canaux et notes. La valeur par défaut est 0600 et ne devrait être modifiée que si vous avez des besoins particuliers.

# 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

Les réglages de cette section ne vous importeront que si vous pensez utiliser un botnet.

##### 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.

Si vous désirez que l'eggdrop ait un autre nick que son pseudonyme en botnet, décommentez cette ligne et mettez le nick que vous voulez lui attribuer.

# 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"

Ceci ouvre des ports telnet qui vous permettent d'accéder à la party-line, que ce soit par telnet ou par CTCP/DCC Chat. Ces ports permettent aussi de connecter les eggdrops entre eux dans un botnet.

Si vous avez plusieurs eggdrops sur la même machine, laissez un espace d'au moins 5 entre les ports de chaque eggdrop.
Les ports utilisables sont compris entre 1025 et 65535, à condition qu'ils ne soient pas exploités par une autre application.

L'argument suivant le numéro du port indique son utilisation:

  • bots: seuls les robots du botnet peuvent utiliser ce port
  • users: seuls des utilisateurs peuvent utiliser ce port
  • all: ce port est utilisable par des robots ou des utilisateurs normaux

Consultez la page spécifique au botnet pour la configuration avancée et l'utilisation des ports.

# 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 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

Ce réglage définit si les utilisateurs peuvent en booter (éjecter) d'autres, et de quelle manière.

# This setting defines whether or not people can boot users on the Eggdrop
# from other bots in your botnet. Valid settings are:
# 0 - allow *no* outside boots
# 1 - allow boots from sharebots
# 2 - allow any boots
set remote-boots 2

Ce réglage interdit à un autre bot de demander à votre eggdrop de se délinker d'un robot partagé (shared)

# This setting prohibits remote bots from telling your Eggdrop to unlink from
# share bots.
set share-unlinks 1

Ce réglage permet de refuser les connexions telnet d'hôtes inconnus

# This setting will drop telnet connections not matching a known host.
set protect-telnet 0

Ceci permet de refuser les demandes de DCC Chat qui semblent mal formulées

# 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

Ce réglage définit au bout de combien de temps (en secondes) l'eggdrop considère qu'une connexion telnet, DCC ou relay est perdue.

# This settings defines a time in seconds that the bot should wait before
# a dcc chat, telnet, or relay connection times out.
set ident-timeout 5

Définissez ici si un opérateur (+o) doit aussi avoir le flag +p pour pouvoir accéder à la Party-Line

# Define here whether or not a +o user still needs the +p flag to dcc the bot.
set require-p 0

Si vous voulez que n'importe qui puisse s'ajouter en tant qu'utilisateur de la Party-Line en se connectant par telnet avec le login NEW, réglez cette valeur à 1. Ceci est similaire à la commande par message hello. protect-telnet doit être à 0.

# 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

Si vous ne voulez pas que votre Eggdrop s'identifie en tant que eggdrop sur une connexion telnet, régler ce paramêtre à 1. Eggdrop affichera son Nickname à la place.

# If you don't want Eggdrop to identify itself as an eggdrop on a telnet
# connection, set this setting to 1. Eggdrop will display 'Nickname' instead.
set stealth-telnets 0

Si vous voulez afficher une bannière à la connexion par telnet, réglez ce paramêtre à 1. La bannière telnet est paramêtré par 'set telnet-banner'.

# 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

Ce réglage définis le temps en seconde que le bot peut attendre avant de refuser un chat dcc, une connexion telnet ou une connexion relay.

# This settings defines a time in seconds that the bot should wait before
# a dcc chat, telnet, or relay connection times out.
set connect-timeout 15

Spécifiez ici le nombre de ligne que le bot accepte d'un utilisateur sur une partyline avec 1 seconde avant qu'il soit considérer comme un floodeur.

# 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

Définissez ici comment plusieurs tentatives de connexion telnet en un nombre de secondes donné peuvent être considérer comme du flood. Le bon format est Tentatives:Secondes.

# 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

Si vous voulez que le flood via telnet applique le mode +f à l'utilisateur, régler ce paramètre à 1.

# If you want telnet-flood to apply even to +f users, set this setting to 1.
set paranoid-telnet-flood 1

Régler ici le nombre de seconde avant d'abandonner le nom d'hôte ou l'adresse [Lookup]

# 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).
set resolve-timeout 15
Eye.png Cet article est en cours de traduction, n'hésitez pas à aider


Réglages avancés

##### 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 (you 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 only, and has nothing to do with the my-ip or
# my-hostname settings. You may still need to set my-ip and/or my-hostname.
#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.
#set owner "MrLame, MrsLame"
 
# Who should a note be sent to when new users are learned?
set notify-newusers "$owner"
 
# Enter the flags that all new users 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"
 
# Enable this setting if you want your Eggdrop to die upon receiving a SIGHUP
# kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.
set die-on-sighup 0
 
# Enable this setting if you want your Eggdrop to die upon receiving a SIGTERM
# kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.
set die-on-sigterm 1
 
# Comment these two lines if you wish to enable 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.
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 dcc connections you will allow. You can
# increase this later, but never decrease it.
set max-dcc 50
 
# 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
 
# 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

##### 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/"

Module DNS

#### DNS MODULE ####
 
# This module provides asynchronous dns support. This will avoid long
# periods where the bot just hangs there, waiting for a hostname to
# resolve, which will often let it timeout on all other connections.
loadmodule dns

Module Channels

#### 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 "LamestBot.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
 
# The following settings are used as default values when you .+chan #chan or .tcl
# channel add #chan. Look in the section below for explanation of every option.
 
set global-flood-chan 10:60
set global-flood-deop 3:10
set global-flood-kick 3:10
set global-flood-join 5:60
set global-flood-ctcp 3:60
set global-flood-nick 5:60
set global-aop-delay 5:30
set global-idle-kick 0
set global-chanmode "nt"
set global-stopnethack-mode 0
set global-revenge-mode 0
set global-ban-time 120
set global-exempt-time 60
set global-invite-time 60
 
set global-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
}
 
# Add each static channel you want your bot to sit in using the following
# command. There are many different possible settings you can insert into
# this command, which are explained below.
#
# channel add #lamest {
# chanmode "+nt-likm"
# idle-kick 0
# stopnethack-mode 0
# revenge-mode 0
# ban-time 120
# exempt-time 60
# invite-time 60
# aop-delay 5:30
# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }
# need-invite { putserv "PRIVMSG #lamest :let me in!" }
# need-key { putserv "PRIVMSG #lamest :let me in!" }
# need-unban { putserv "PRIVMSG #lamest :let me in!" }
# need-limit { putserv "PRIVMSG #lamest :let me in!" }
# flood-chan 10:60
# flood-deop 3:10
# flood-kick 3:10
# flood-join 5:60
# flood-ctcp 3:60
# flood-nick 5:60
# }
#
# 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-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 10:60
# Set here how many channel messages in how many seconds from one
# host constitutes a flood. Setting this to 0 or 0:0 disables
# flood protection for the channel.
#
# flood-deop 3:10
# Set here how many deops in how many seconds from one host constitutes
# a flood. Setting this to 0 or 0:0 disables deop flood protection for
# the channel.
#
# flood-kick 3:10
# Set here how many kicks in how many seconds from one host constitutes
# a flood. Setting this to 0 or 0:0 disables kick flood protection for
# the channel.
#
# flood-join 5:60
# Set here how many joins in how many seconds from one host constitutes
# a flood. Setting this to 0 or 0:0 disables join flood protection for
# the channel.
#
# flood-ctcp 3:60
# Set here how many channel ctcps in how many seconds from one host
# constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood
# protection for the channel.
#
# flood-nick 5:60
# Set here how many nick changes in how many seconds from one host
# constitutes a flood. Setting this to 0 or 0:0 disables nick flood
# protection for the channel.
#
# There are many different options for channels which you can
# define. They can be enabled or disabled using the channel set command by a
# plus or minus in front of them.
#
# channel set #lamest +enforcebans +dynamicbans +userbans +dynamicexempts
# channel set #lamest +userexempts +dynamicinvites +userinvites +protectops
# channel set #lamest +protectfriends +statuslog +revenge -protecthalfops
# channel set #lamest +revengebot +dontkickops +autovoice -autoop -autohalfop
# channel set #lamest -bitch -secret -shared +greet +cycle
#
# 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 number of +m/+o/+v/+n/+b/+e/+I users 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.
#
# Here is a shorter example:
#
# channel add #botcentral {
# chanmode "+mntisl 1"
# idle-kick 1
# }
# channel set #botcentral +bitch +enforcebans -greet +revenge

Module Server

#### 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
 
# What is your network?
# 0 = EFnet
# 1 = IRCnet
# 2 = Undernet
# 3 = DALnet
# 4 = +e/+I/max-modes 20 Hybrid
# 5 = Others
set net-type 0
 
# Set the nick the bot uses on IRC, and on the botnet unless you specify a
# separate botnet-nick, here.
set nick "Lamestbot"
 
# 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 "Llamab?t"
 
# 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 LamestBot hello"
 
# This is a Tcl script to be run immediately after connecting to a server.
bind evnt - init-server evnt:init_server
 
proc evnt:init_server {type} {
global botnick
putquick "MODE $botnick +i-ws"
}
 
# Set the default port which should be used if none is specified with
# '.jump' or in 'set servers'.
set default-port 6667

Utilisation du SSL

# Passez la variable à 1 pour utiliser le SSL
set use-ssl 0
# 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[:port[:password]]
#
# Both the port and password fields are optional; however, if you want to set a
# password you must also set a port. If a port isn't specified it will default to
# your default-port setting.
set servers {
you.need.to.change.this:6667
another.example.com:7000:password
}
 
# This setting makes the bot try to get his original nickname back if its
# primary nickname is already in use.
set keep-nick 1
 
# Set this to 0 if you want the bot to strip '~' characters from user@hosts
# before matching them.
set strict-host 0
 
# 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 settings makes the bot cycle forever through the server list until
# it successfully connects to one.
set never-give-up 1
 
# 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
 
# If the number of servers on the net gets below this number, the bot
# will jump to a new server (it will assume it's on the losing end of
# a netsplit). Set this to 0 to turn off. If your bot is running on
# any major IRC network, this should probably be turned off.
set servlimit 0
 
# 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. There are three
# different options for this setting:
# 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
### SERVER MODULE - OTHER NETWORKS (net-type 5) ###
 
# 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.
#set check-mode-r 1
 
# 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

Module CTCP

#### 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. There are 3 possible
# operating modes:
# 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.

Module IRC

#### 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 1
 
# 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
 
# Set here the maximum number of bans you want the bot to set on a channel.
# Eggdrop will not place any more bans if this limit is reached. Undernet
# currently allows 45 bans, IRCnet allows 30, EFnet allows 100, and DALnet
# allows 100.
set max-bans 30
 
# Set here the maximum number of exempts you want Eggdrop to set on a channel.
# Eggdrop will not place any more exempts if this limit is reached.
set max-exempts 20
 
# Set here the maximum number of invites you want Eggdrop to set on a channel.
# Eggdrop will not place any more invites if this limit is reached.
set max-invites 20
 
# There is a global limit for +b/+e/+I modes. This limit should be set to
# the same value as max-bans for networks that do not support +e/+I.
set max-modes 30
 
# 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
 
# Set this to 1 if you want the bot to kick for control character/ctcp
# avalanches to a channel. Remember that if it does, it won't ban them.
# This can start kick floods.
set kick-fun 0
 
# Set this to 1 if you want the bot to ban for control character/ctcp
# avalanches to a channel. This can prevent kick floods, but it also can
# fill the banlist.
set ban-fun 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 1) ###
 
# Attention: Use these settings *only* if you set 'net-type' to 1!
 
# 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 5) ###
 
# Attention: Use these settings *only* if you set 'net-type' to 5!
 
# 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 allow you to stack lots of channel modes into one line.
# They're all guaranteed to support at least 3, so that's the default.
# If you know your network supports more, you may want to adjust this.
# This setting is limited to 6, although if you want to use a higher value,
# you can modify this by changing the value of MODES_PER_LINE_MAX in
# src/chan.h and recompiling the bot.
#set modes-per-line 3
 
# Some networks don't include the +l limit and +k or -k key modes
# in the modes-per-line (see above) limitation. Set include-lk to 0 for
# these networks.
#set include-lk 1
 
# Set this to 1 if your network uses IRCu2.10.01 specific /who requests.
# Eggdrop can, therefore, ask only for exactly what's needed.
#set use-354 0
 
# If your network doesn't use rfc 1459 compliant string matching routines,
# set this to 0.
#set rfc-compliant 1

Module Transfer

#### 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 into the /tmp directory
# before sending them. This is useful on most systems for file stability,
# but if your directories are NFS mounted, it's a pain, and you'll want
# to set this to 0. If you are low on disk space, you may also want to
# set this to 0.
set copy-to-tmp 1
 
# Set here the time (in seconds) to wait before an inactive transfer times out.
set xfer-timeout 30

Module Share

#### 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

Module Compress

#### COMPRESS MODULE ####
 
# This module provides 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

Module Filesystem

#### 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

Module Notes

#### 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 "LamestBot.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 1
 
# 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?"

Module Console

#### 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

Modules optionnels

Module Seen

#### 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.visions-of-fantasy.de/gseen.mod/.
#loadmodule seen

Module Blowfish

#### BLOWFISH MODULE ####
 
# IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER
# Eggdrop encrypts its userfile, so users can have secure passwords.
# Please note that when you change your encryption method later (i.e.
# using other modules like a md5 module), you can't use your current
# userfile anymore. Eggdrop will not start without an encryption module.
#loadmodule blowfish

Module Assoc

#### 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

Module Wire

#### WIRE MODULE ####
 
# This module provides all the standard .wire commands via dcc. It is an
# encrypted partyline communication tool, compatible with wire.tcl. An
# encryption module must be loaded to use this module. Un-comment the
# following line to load the wire module.
#loadmodule wire

Module Uptime

#### 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

Scripts

##### 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
 
# Use this script for Tcl and Eggdrop backwards compatibility.
# NOTE: This can also cause problems with some newer scripts.
#source scripts/compat.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

Editer le fichier botchk

Le script botchk et les crontab sont utilisés pour relancer automatiquement votre robot si le shell reboot ou si votre robot s'arrète pour une raison quelconque. Vous pouvez trouver le fichier botchk dans le répertoire des scripts (ainsi que dans le répertoire où vous avez installé l'Eggdrop). Les versions depuis le 1.3.24 ont un script qui permet de configurer automatiquement botchk et les crontab.

En telnet, allez dans le répertoire scripts/ et tapez chmod 700 autobotchk puis ./autobotchk -dir /home/botrep -noemail, avec /home/botrep qui est le répertoire où vous avez installé le robot et le nom de votre fichier de configuration.

Sinon, vous pouvez éditer le fichier botchk, et entrer manuellement le crontab. Il y a quatre réglages que vous devez modifier dans botchk, et ils sont bien commentés. Une fois le fichier botchk correctement modifié, il vous faut ajouter une entré:e dans le crontab.

Voici la meilleur méthode:

  • Votre entrée doit ressembler à: 0,10,20,30,40,50 * * * * /home/botrep/scripts/botchk >/dev/null 2>&1 Cela va lancer le script botchk toutes les dix minutes, lequel vérifie si l'Eggdrop fonctionne et le lance si ce n'est pas la cas. Vous n'avez qu'à remplacer /home/botrep par le bon répertoire. Pour le connaitre, placez vous dans le répertoire où vous avez installé l'Eggdrop et tapez pwd.
  • Tapez crontab -e. Ceci va lancer l'éditeur vi (qui fera apparaitre un ~ au début de chaque ligne vide), et parfois (rarement) ce sera l'éditeur pico.
    • Avec vi, tapez ctrl-l, tapez i, entrez la ligne vue précédemment, tapez Esc, :wq! puis Entrée.
    • Avec pico, entrez la ligne vue précédemment, tapez Ctrl-X, tapez Y lorsque le programme vous demande si vous voulez sauvegarder, puis tapez Entré lorsque le nom de fichier est proposé.
  • Vous pouvez voir la liste des entrées dans le crontab en tapant crontab -l.

Si vous voulez lancer botchk avec un intervale de temps assez court, une astuce consiste à remplacer les différentes minutes (0,10,20,30,40,50 dans notre exemple) par une division de temps (*/10 donnera le même résultat).

Démarrer l'Eggdrop

Voila! Maintenant que vous avez compilé, installé et configuré votre Eggdrop, il est temps de le démarrer. Allez dans le répertoire où vous l'avez installé, croisez les doigts et tapez ./eggdrop -m <fichier de configuration>(où est le nom de votre fichier de configuration). L'Eggdrop doit démarrer et apparaître sur IRC dans les minutes qui suivent. L'option -m permet de créer un nouveau fichier utilisateur. Lors des prochains lancements, vous n'aurez qu'à taper ./eggdrop <fichier de configuration> pour démarrer le robot.

Une fois votre robot sur IRC, vous devez rapidement vous présenter. Envoyez lui la commande "hello" en message pour devenir son propriétaire. Une fois cela fait, suivez ses instructions pour vous affecter un mot de passe. Vous pourrez alors accéder à la party line par DCC chat.

Maintenant que votre Eggdrop est sur IRC et que vous en êtes officiellement le propriétaire, il est temps d'apprendre comment Utiliser votre Eggdrop.

Si votre robot ne se connecte pas à IRC, ou si vous avez le moindre problème, passez demander de l'aide sur #eggdrop sur Zeolia (ou en utilisant notre applet).


Voir aussi

Configuration multi-eggdrops

« Article précédent Article suivant »