1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711
|
#!/usr/bin/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 "lamest"
# 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>"
# 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"
# 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 "5"
# 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 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 "LamestBot.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 "/usr/share/eggdrop/help/"
# Specify here where Eggdrop should look for text files. This is used for
# certain Tcl and DCC commands.
set text-path "/usr/share/eggdrop/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 "/usr/share/eggdrop/text/motd"
# This banner will be displayed on telnet connections. Look at
# doc/TEXT-SUBSTITUTIONS for options.
set telnet-banner "/usr/share/eggdrop/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 in front 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 "MrLame, MrsLame"
# 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, .set and, if loaded, .python. 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 use 'make install' (like all good kiddies do ;), this is a fine
# default. Otherwise, use your head :)
set mod-path "/usr/lib/eggdrop/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
#### PYTHON MODULE #####
#
# This module gives Eggdrop the ability to run python scripts. if loaded,
# Python scripts can be loaded at the end of the config file using the pysouce
# command to tell Eggdrop where the file is loaded. The module requires Python
# version 3.8 or higher to run. To load the python module, uncomment it below.
#loadmodule python
#### 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
# 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 #lamest
#### 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 0
## 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 "EFnet"
# 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. 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 6667
# 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 you.need.to.change.this 6667
server add another.example.com 6669 password
server add 2001:db8:618:5c0:263:: 6669 password
server add ssl.example.net +7000
#### 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 0
# 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.
# Beware: NIST curve could be backdoored,
# so please use EXTERNAL or SCRAM instead.)
#
# 2 = EXTERNAL (Some other method you set up. Certificates
# used are defined in ssl-certificate and
# ssl-privatekey settings in SSL section)
#
# 3 = SCRAM-SHA-256
#
# 4 = SCRAM-SHA-512
#
#set sasl-mechanism 0
# Set username to authenticate to IRC NickServ with
#set sasl-username "llamabot"
# Set password to authenticate to IRC NickServ with
#set sasl-password "password"
# 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 1
#
# 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, 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
# 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 "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 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, originally
# written by G'Quann and currently maintained by mortmann. You can find it at
# https://github.com/michaelortmann/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 the uptime contest web
# site at https://www.eggheads.org/uptime/.
# 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
##### AUTOSCRIPTS #####
# Load this script to enable the autoscripts functionality for Eggdrop.
# Autoscripts are scripts that can be downloaded, installed and configured via
# the partyline. For more information, read doc/AUTOSCRIPTS
source scripts/autoscripts.tcl
##### TCL 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 /usr/share/eggdrop/scripts/alltools.tcl
source /usr/share/eggdrop/scripts/action.fix.tcl
# This script enhances Eggdrop's built-in dcc '.whois' command to allow all
# users to '.whois' their own handle.
source /usr/share/eggdrop/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 /usr/share/eggdrop/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 /usr/share/eggdrop/scripts/compat.tcl
##### PYTHON SCRIPTS #####
# To load a python script, use the pysource command.
# pysource scripts/mypythonscript.py
|