nfo_ip="
This is the IP Address of the vhost (http://ww.worxtech.com/vhosts.html) that you wish to use.
This will not allow you to enter an invalid ip into this option. You should be safe here.
";
nfo_port="
This is the port to which the bot will listen on.
This must be set in order to telnet the eggdrop.
";
nfo_host="
This is the hostname of the vhost (http://ww.worxtech.com/vhosts.html).
This option can be left empty (Hit ENTER to proceed with no hostname).
This will not effect the outcome of the bots host.
";
nfo_owner="
This will be YOUR irc nickname.
Make sure this is set correctly.
";
nfo_network="
This is the network to which the bot is connecting to (ie: Efnet).
";
nfo_chan="
You need to add some channels to your bot so he knows where to go after he connects to the irc server.
Foreach channel add a space (ie: #chan1 #chan2 #chan3).
";
nfo_server="
This is the irc server which the bot will connect to (ie: irc.efnet.net:6667).
Please include the port as shown in the example.
";
echo "Step By Step Configuring Your Eggdrop"
echo " "
printf "Bots Nickname?:";
read nick
while [ "$nick" = "info" -o "$nick" = "" ]
do
echo "$nfo_nick"
echo " "
printf "Bots Nickname?:";
read nick
done
printf "What is the IP Address?:";
read ip
while [ "$ip" = "info" -o "$ip" = "" ]
do
echo "$nfo_ip"
echo " "
printf "What is the IP Address?:";
read ip
ipchk=`ifconfig | awk '/inet / { print $2 }' | grep "$ip"`
while [ "$ipchk" != "$ip" -a "$ip" != "info" ]
do
echo "Invalid Ip"
echo " "
printf "What is the IP Address?:";
read ip
ipchk=`ifconfig | awk '/inet / { print $2 }' | grep "$ip"`
done
done
printf "What is the hostname ([enter] for none)?:";
read host
while [ "$host" = "info" ]
do
echo "$nfo_host"
echo " "
printf "What is the hostname ([enter] for none)?:";
read host
done
printf "What Port?:";
read port
while [ "$port" = "info" -o "$port" = "" ]
do
echo "$nfo_port"
echo " "
printf "What Port?:";
read port
done
printf "What is the owners nick?:";
read owner
while [ "$owner" = "info" -o "$owner" = "" ]
do
echo "$nfo_owner"
echo " "
printf "What is the owners nick?:";
read owner
done
printf "What IRC Network (ie: Efnet)?:";
read network
while [ "$network" = "info" -o "$network" = "" ]
do
echo "$nfo_network"
echo " "
printf "What IRC Network (ie: Efnet)?:";
read network
done
echo "Specify the channels eliminated by a [SPACE] that you want the bot to join (ie: #chan1 #chan2 #chan3). Type \"info\" for more?:";
read eggchans
while [ "$eggchans" = "info" -o "$eggchans" = "" ]
do
echo "$nfo_chan"
echo " "
echo "Specify the channels eliminated by a [SPACE] that you want the bot to join. Type \"info\" for more?:";
read eggchans
done
printf "Whats the main irc server you wish to have the bot connect to (ie: irc.efnet.net:6667)?:";
read server
while [ "$server" = "info" -o "$server" = "" ]
do
echo "$nfo_server"
echo " "
printf "Whats the main irc server you wish to have the bot connect to (ie: irc.efnet.net:6667)?:";
read server
done
#################################################################
# #
# Advanced Code, Don't Edit Unless you know what you are doing #
# #
################################################################
cat /dev/null > "tmp.conf";
cat >> "tmp.conf" << EOF
set nick "$nick"
set admin "$owner"
set owner "$owner"
set network "$network"
set botnet-nick "$nick"
set my-ip "$ip"
set hostname "$host"
set servers {
$server
}
loadmodule transfer
loadmodule share
loadmodule channels
loadmodule server
loadmodule ctcp
loadmodule irc
loadmodule notes
checkmodule blowfish
set notify-newusers "$owner"
set altnick "$nick-"
set username "$owner"
listen $port all
set net-type 0
set realname "$nick"
set userfile "$nick.user"
set chanfile "$nick.chan"
set notefile "$nick.notes"
set help-path "help/"
set hourly-updates 02
set init-server { putserv "MODE $botnick +i-ws" }
set ctcp-mode 2
set double-mode 0
set double-server 0
set double-help 0
unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set
unbind dcc n simul *dcc:simul
### TCL Scripts ###
source scripts/alltools.tcl
source scripts/action.fix.tcl
EOF
mv tmp.conf $nick.conf
chmod 755 $nick.conf
################################################
#
# Start Channel File
touch $nick.chan
for chan in $eggchans
do
echo "#Dynamic Channel File for $nick (eggdrop v1.6.18)" >> $nick.chan
echo " " >> $nick.chan
echo "channel add $chan { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 0:0 flood-ctcp 0:0 flood-join 0:0 flood-kick 0:0 flood-deop 2:10 flood-nick 0:0 aop-delay 5:30 ban-time 132 exempt-time 74 invite-time 71 -enforcebans -dynamicbans +userbans -autoop -autohalfop -bitch -greet +protectops -protecthalfops +protectfriends -dontkickops -statuslog -revenge -revengebot -autovoice -secret +shared -cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch }" >> $nick.chan
done
echo "";
echo "Done making config.";
echo "Config file name is $nick.conf";
echo " ";
## crontabs ##
printf "Would you like to create a crontab for your bot [y/n]?:"
read cron
if [ "$cron" = "y" ] ; then
export path=`pwd`
./scripts/autobotchk $nick.conf -dir $path -noemail
echo " "
echo "Your crontab has been created."
else
echo " "
echo "Your crontab for your bot has NOT been installed"
fi
echo "Would you like to start this bot now [y/n]?:";
read runopt
if [ $runopt = "y" ]; then
cd $HOME/eggdrop
./eggdrop -m $nick.conf
else
echo "You can start your bot by typeing this in your shell: ./eggdrop -m $nick.conf (NOTE: -m is only for the FIRST time running the bot.";
fi
echo " "
echo " "
echo "You can create more eggdrop bots by:";
echo "Step 1: cd eggdrop"
echo "Step 2: ./makebot"
echo " "
echo "Hope this made things a bit easier for you :)"