bunch of new stuff, a few fixes
[distro-setup] / subdir_files / eggdrop / eggdrop-fsysbot.conf
1 #! /path/to/executable/eggdrop
2 # ^- This should contain a fully qualified path to your Eggdrop executable.
3
4 ## This is the basic version of Eggdrop's config file and contains only the
5 ## most commonly used settings for a standard Eggdrop setup.
6 ## PLEASE see eggdrop.conf that ships with Eggdrop for the full documentation
7 ## and list settings you can use here. Or, you can just use eggdrop.conf
8 ## instead!
9 ##
10 ## The pound signs (#) that you see at the beginning of some lines mean that
11 ## the remainder of that line is a comment, or just for your information. By
12 ## adding or deleting pound signs, you can comment or uncomment a setting,
13 ## respectively.
14 ##
15 ## Arguments for a command or setting may be inclosed in <>'s or []'s in the
16 ## example/description. Arguments in <>'s are required, while [] means optional.
17 ##
18 ## More detailed descriptions of all these settings can be found in
19 ## doc/settings/.
20
21 ## These are the common modules loaded by eggdrop for an IRC-connected bot.
22 ## For a complete description of each module, please consult eggdrop.conf
23 loadmodule pbkdf2 ; # Generation 2 userfile encryption
24 loadmodule blowfish ; # Legacy userfile encryption support
25 loadmodule channels ; # Channel support
26 loadmodule server ; # Core server support
27 loadmodule ctcp ; # CTCP functionality
28 loadmodule irc ; # Basic IRC functionality
29 #loadmodule transfer ; # DCC SEND/GET and Userfile transfer
30 #loadmodule share ; # Userfile sharing
31 #loadmodule compress ; # Compress userfiles for transfer
32 #loadmodule filesys ; # File server support
33 #loadmodule notes ; # Note storing for users
34 loadmodule console ; # Console setting storage
35 #loadmodule seen ; # Basic seen functionality
36 #loadmodule assoc ; # Party line channel naming
37 loadmodule uptime ; # Centralized uptime stat collection (http://uptime.eggheads.org)
38 #loadmodule ident ; # Ident support
39 #loadmodule twitch ; # Twitch gaming service support
40
41
42 ##### BASIC SETTINGS #####
43
44 ## Set the nick the bot uses on IRC, and on the botnet unless you specify a
45 ## separate botnet-nick, here.
46 set nick "fsysbot"
47
48 ## Set the alternative nick which the bot uses on IRC if the nick specified
49 ## by 'set nick' is unavailable. All '?' characters will be replaced by random
50 ## numbers.
51 set altnick "fsysbot2"
52
53 ## Set what should be displayed in the real-name field for the bot on IRC.
54 ## This can not be blank, it has to contain something.
55 set realname "/msg fsysbot hello"
56
57 ## This setting defines the username the bot uses on IRC. This setting has no
58 ## effect if an ident daemon is running on your bot's machine. See also ident
59 ## module.
60 set username "iank"
61
62 # Specify here the filename Eggdrop will save its pid to. If no pidfile is
63 # specified, pid.(botnet-nick) will be used.
64 #set pidfile "pid.LamestBot"
65
66 ## This setting defines which contact person should be shown in .status,
67 ## /msg help, and other places. You really should include this information.
68 set admin "iank@fsf.org"
69
70 ## This setting is used only for info to share with others on your botnet.
71 ## Set this to the IRC network your bot is connected to.
72 set network "irc.libera.chat"
73
74 # Un-comment the next line and set the list of owners of the bot.
75 # You NEED to change this setting.
76 # This is a list of handles -- usernames in the bot.
77 #set owner "MrLame, MrsLame"
78
79 # This is the bot's server list. The bot will start at the first server listed,
80 # and cycle through them whenever it gets disconnected. You need to change these
81 # servers to YOUR network's servers.
82 #
83 # The format is:
84 # server add <server> [port [password]]
85 # Prefix the port with a plus sign to attempt a SSL connection:
86 # server add <server> +port [password]
87 #
88 # Both the port and password fields are optional. If a port isn't specified,
89 # the default-port setting will be used. If you want to set a password or use
90 # SSL, you must specify a port.
91 #
92 # This format is new as of version 1.9.0. The previous method using
93 # set servers {} will still work for now, but is deprecated and will be removed
94 # in a future release.
95 server add irc.libera.chat 6667
96
97 ############################################################################
98 ## Network settings overview
99 ## With the addition of IPv6 and the associated config changes, here are some
100 ## BASIC common networking scenarios, along with the appropriate settings
101 ## needed:
102 ##
103 ## SHELL PROVIDER (MULTIPLE IPs/VHOSTS)
104 ## * set vhost4 or vhost6 to the IP/vhost you want to use
105 ## * do not set nat-ip
106 ##
107 ## HOME COMPUTER/VPS, DIRECT INTERNET CONNECTION (SINGLE IP, NO NAT)
108 ## * do not set vhost4/vhost6
109 ## * do not set nat-ip
110 ##
111 ## HOME COMPUTER, BEHIND A NAT
112 ## * do not set vhost4/vhost6
113 ## * set nat-ip to your external IP
114 ##
115 ## And as a general rule, if you're having issues with Eggdrop responding to
116 ## a CTCP chat request, try setting vhost4/6 to your external IP.
117 ##
118 ## Below is a detailed description of each setting, please read them to
119 ## learn more about their function.
120 ############################################################################
121
122 ## If your host has multiple IPv4 addresses, uncomment and set this variable
123 ## to the IP you wish to use for connecting to IRC.
124 #set vhost4 "virtual.host.com"
125 #set vhost4 "99.99.0.0"
126
127 # If your host has multiple IPv6 addresses, uncomment and set this variable
128 # to the IP you wish to use for connecting to IRC.
129 #set vhost6 "my.ipv6.host.com"
130 #set vhost6 "2001:db8::c001:b07"
131
132 ## If you have a NAT firewall, enter your outside IP here. This IP
133 ## is used for transfers and CTCP replies only, and is different than the
134 ## vhost4/6 settings. You likely still need to set them.
135 #set nat-ip "127.0.0.1"
136
137 ## If you want all dcc file transfers to use a particular portrange either
138 ## because you're behind a firewall, or for other security reasons, set it
139 ## here.
140 #set reserved-portrange 2010:2020
141
142 ## Prefer IPv6 over IPv4 for connections and dns resolution?
143 ## If the preferred protocol family is not supported, the other one
144 ## will be tried.
145 set prefer-ipv6 0
146
147 ## If you want to have your Eggdrop messages displayed in a language other
148 ## than English, change this setting to match your preference. An alternative
149 ## would be to set the environment variable EGG_LANG to that value.
150 ##
151 ## Languages included with Eggdrop: Danish, English, French, Finnish, German,
152 ## Italian, Portuguese.
153 #addlang "english"
154
155 ##### LOG FILES #####
156
157 ## See eggdrop.conf for documentation on the logfile flags and settings.
158
159 # This creates a logfile named eggdrop.log that captures items logged at the
160 # m, c, and o log levels (private msgs/ctcps, commands/errors, and misc
161 # info) from any channel.
162 logfile mco * "logs/eggdrop.log"
163
164 # This creates a logfile named lamest.log that captures items logged at the
165 # j, p, and k log levels (joins/parts/quits/netsplits, public chat,
166 # kicks/bans/mode changes) on the channel #lamest.
167 #logfile jpk #lamest "logs/lamest.log"
168
169 ## This should be 0 for disk space restricted shells, and 1 if you want to
170 ## generate channel statistics with tools such as pisg.
171 ## If it is 0, eggdrop will delete logfiles older than 2 days.
172 ## If it is 1, eggdrop will keep logging into the specified logfiles forever.
173 ## See eggdrop.conf for more detailed settings.
174 set log-forever 0
175
176 ## Code to set settings based on the above setting, do not edit this.
177 if {${log-forever}} {
178 set switch-logfiles-at 2500
179 set keep-all-logs 0
180 }
181
182 ## "Writing user file..." and "Writing channel file..." messages won't be logged
183 ## anymore if this option is enabled. If you set it to 2, the "Backing up user
184 ## file..." and "Backing up channel file..." messages will also not be logged.
185 ## In addition to this, you can disable the "Switching logfiles..." and the new
186 ## date message at midnight, by setting this to 3.
187 set quiet-save 0
188
189 ##### FILES AND DIRECTORIES #####
190
191 # Specify here the filename your userfile should be saved as.
192 set userfile "fsysbot.user"
193
194 # Specify here where Eggdrop should look for help files. Don't modify this
195 # setting unless you know what you're doing!
196 set help-path "help/"
197
198 ##### BOTNET/DCC/TELNET #####
199
200 ## If you want to use a different nickname on the botnet than you use on
201 ## IRC (i.e. if you're on an un-trusted botnet), un-comment the next line
202 ## and set it to the nick you would like to use.
203 #set botnet-nick "LlamaBot"
204
205 # This opens a telnet port by which you and other bots can interact with the
206 # Eggdrop by telneting in. There are more options for the listen command in
207 # doc/tcl-commands.doc. Note that if you are running more than one bot on the
208 # same machine, you will want to space the telnet ports at LEAST 5 apart,
209 # although 10 is even better.
210 #
211 # Valid ports are typically anything between 1025 and 65535 assuming the
212 # port is not already in use. If you would like the bot to listen for users
213 # and bots in separate ports, use the following format:
214 #
215 # listen 3333 bots
216 # listen 4444 users
217 listen 127.0.0.1 2888 users
218 #
219 # If you wish to use only one port, use this format:
220 #
221 # listen 3333 all
222 #
223 # You can setup a SSL port by prepending a plus sign to it:
224 #
225 # listen +5555 all
226 #
227 # To bind the listening port to a specific IP instead of all available, insert
228 # a valid IP assigned to the host Eggdrop is running on in front of the port
229 # (this replaces the listen-addr setting used prior to Eggdrop v1.9)
230 #
231 # listen 1.2.3.4 3333 all
232 #
233 # You need to un-comment this line and change the port number in order to open
234 # the listen port. You should not keep this set to 3333.
235 #listen 3333 all
236
237 ##### SSL SETTINGS #####
238
239 ## Settings in this section take effect when eggdrop is compiled with TLS
240 ## support. If you didn't generate SSL keys already, you can type
241 ## 'make sslcert' in your eggdrop source directory.
242 ##
243 ## IMPORTANT: The following two settings MUST be uncommented in order to
244 ## use SSL functionality!
245 #set ssl-privatekey "eggdrop.key"
246
247 ## Specify the filename where your SSL certificate is located. If you
248 ## don't set this, eggdrop will not be able to act as a server in SSL
249 ## connections. Must be in PEM format.
250 #set ssl-certificate "eggdrop.crt"
251
252 ## Specify the location at which CA certificates for verification purposes
253 ## are located. These certificates are trusted. If you don't set this,
254 ## certificate verification will not work.
255 set ssl-capath "/etc/ssl/"
256
257 ## Enable certificate authorization. Set to 1 to allow users and bots to
258 ## identify automatically by their certificate fingerprints. Setting it
259 ## to 2 to will force fingerprint logins. With a value of 2, users without
260 ## a fingerprint set or with a certificate UID not matching their handle
261 ## won't be allowed to login on SSL enabled telnet ports. Fingerprints
262 ## must be set in advance with the .fprint and .chfinger commands.
263 ## NOTE: this setting has no effect on plain-text ports.
264 #set ssl-cert-auth 0
265
266 ## You can control SSL certificate verification using the following variables.
267 ## All of them are flag-based. You can set them by adding together the numbers
268 ## for all exceptions you want to enable. By default certificate verification
269 ## is disabled and all certificates are assumed to be valid. The numbers are
270 ## the following:
271 ##
272 ## Enable certificate verification - 1
273 ## Allow self-signed certificates - 2
274 ## Don't check peer common or alt names - 4
275 ## Allow expired certificates - 8
276 ## Allow certificates which are not valid yet - 16
277 ## Allow revoked certificates - 32
278 ## A value of 0 disables verification.
279
280 ## Control certificate verification for IRC servers
281 #set ssl-verify-server 0
282
283 ## Control certificate verification for DCC chats (only /dcc chat botnick)
284 #set ssl-verify-dcc 0
285
286 ## Control certificate verification for linking to hubs
287 #set ssl-verify-bots 0
288
289 ## Control certificate verification for SSL listening ports. This includes
290 ## leaf bots connecting, users telneting in and /ctcp bot chat.
291 #set ssl-verify-clients 0
292
293
294 ##### COMMON MODULES SETTINGS #####
295
296 ## Below are various settings for the modules included with Eggdrop.
297 ## PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at
298 ## Eggdrop, things change.
299
300 ## This path specifies the path were Eggdrop should look for its modules.
301 ## If you run the bot from the compilation directory, you will want to set
302 ## this to "". If you use 'make install' (like all good kiddies do ;), this
303 ## is a fine default. Otherwise, use your head :)
304 set mod-path "modules/"
305
306 #### CHANNELS MODULE ####
307
308 ## Enter here the filename where dynamic channel settings are stored.
309 set chanfile "fsysbot.chan"
310
311 #### SERVER MODULE ####
312
313 ## What is your network?
314 ## If your network is not specifically listed here, please see eggdrop.conf
315 ## for more information on what the best selection is.
316 ## Options are:
317 ## EFnet
318 ## IRCnet
319 ## Undernet
320 ## DALnet
321 ## Libera
322 ## freenode
323 ## QuakeNet
324 ## Rizon
325 ## Twitch (This requires twitch.mod to be loaded as well)
326 ## Other (This is a good, sane option if your network/ircd is not listed here)
327 set net-type "Libera"
328
329 # This is a Tcl script to be run immediately after connecting to a server. If
330 # you want to authenticate Eggdrop with NickServ, uncomment and edit the middle
331 # line below.
332 bind evnt - init-server evnt:init_server
333
334 proc evnt:init_server {type} {
335 global botnick
336 putquick "MODE $botnick +i-ws"
337 # putserv "PRIVMSG NickServ :IDENTIFY iank cePVe6OmxLXmf42e"
338 }
339
340 ## Set the default port which should be used if none is specified with
341 ## '.jump' or in 'set servers'.
342 set default-port 6667
343
344 ## This setting allows you to specify the maximum nick-length supported by your
345 ## network. The default setting is 9. The maximum supported length by Eggdrop
346 ## is 32.
347 #set nick-len 9
348
349 #### CTCP MODULE ####
350
351 ## Set here how the ctcp module should answer ctcps.
352 ## Options are:
353 ## 0 = Normal behavior is used.
354 ## 1 = The bot ignores all ctcps, except for CHAT and PING requests
355 ## by users with the +o flag.
356 ## 2 = Normal behavior is used, however the bot will not answer more
357 ## than X ctcps in Y seconds (defined by 'set flood-ctcp').
358 set ctcp-mode 1
359
360 #### IRC MODULE ####
361
362 ## Many takeover attempts occur due to lame users blindly /msg ident'ing to
363 ## the bot and attempting to guess passwords. We now unbind this command by
364 ## default to discourage them. You can enable these commands by commenting the
365 ## following two lines.
366 unbind msg - ident *msg:ident
367 unbind msg - addhost *msg:addhost
368
369 #### NOTES MODULE ####
370
371 ## Set here the filename where private notes between users are stored.
372 set notefile "LamestBot.notes"
373
374 ##### AUTOSCRIPTS #####
375
376 # Load this script to enable the autoscripts functionality for Eggdrop.
377 # Autoscripts are scripts that can be downloaded, installed and configured via
378 # the partyline. For more information, read doc/AUTOSCRIPTS
379 #source scripts/autoscripts.tcl
380
381 ##### SCRIPTS #####
382
383 ## This is a good place to load scripts to use with your bot.
384
385 ## This line loads script.tcl from the scripts directory inside your Eggdrop's
386 ## directory. All scripts should be put there, although you can place them where
387 ## you like as long as you can supply a fully qualified path to them.
388 ##
389 ## source scripts/script.tcl
390 ## The 3 scripts below are default and shouldn't be removed.
391
392 source scripts/alltools.tcl
393 source scripts/action.fix.tcl
394 source scripts/dccwhois.tcl
395
396 ## This script provides many useful informational functions, like setting
397 ## users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add
398 ## extra entries.
399 source scripts/userinfo.tcl
400 loadhelp userinfo.help
401
402 ## Use this script for Tcl and Eggdrop backwards compatibility.
403 ## NOTE: This can also cause problems with some newer scripts.
404 #source scripts/compat.tcl
405
406 ## This next line checks if eggdrop is being executed from the source directory, do not remove it
407 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.} }
408
409 ## A few IRC networks (EFnet and Undernet) have added some simple checks to
410 ## prevent drones from connecting to the IRC network. While these checks are
411 ## fairly trivial, they will prevent your Eggdrop from automatically
412 ## connecting. In an effort to work-around these, we have developed a couple of
413 ## TCL scripts to automate the process.
414
415 if {[info exists net-type]} {
416 switch -- ${net-type} {
417 "EFnet" {
418 # EFnet
419 source scripts/quotepong.tcl
420 }
421 "0" {
422 # EFnet
423 source scripts/quotepong.tcl
424 }
425 }
426 }
427
428 source /b/ds/fsfsys-recent.tcl
429
430 # initial setup:
431 #
432 # ~/eggdrop/eggdrop -m eggdrop-fsysbot.conf
433 # # on irc, /msg eggdrop hello
434 # # on server:
435 # telnet localhost 2888
436 #.dump PRIVMSG nickserv :REGISTER Ujtoobquidliwev fsysbot@iankelling.org
437 ##<Geo> iank: alternately, read .help msg [17:08]
438 ##<Geo> probably the more convenient solution
439 ## but it looks like that module is not loaded.
440 #.dump PRIVMSG nickserv :VERIFY REGISTER fsysbot cePVe6OmxLXmf42e
441
442 # .+chan #fsfsys
443 # .+chan #test-ignore
444 # # do testing
445 # .-chan #test-ignore
446
447 # ./scripts/autobotchk eggdrop-fsysbot.conf -systemd
448
449 # autobotchk 1.11, (C) 1999-2003 Jeff Fisher (guppy@eggheads.org)
450 # (C) 2004-2022 Eggheads Development Team
451 # ------------------------------------------------------------
452
453 # Opening 'eggdrop-fsysbot.conf' for processing ... done
454 # Scanning the config file ..... done
455 # Defaulting $botnet-nick to "fsysbot"
456 # Enabling user lingering...
457 # Creating systemd directory...
458 # Created symlink /home/iank/.config/systemd/user/default.target.wants/fsysbot.service → /home/iank/.config/systemd/user/fsysbot.service.
459 # systemd job successfully installed as 'fsysbot.service'.
460 # * Use 'systemctl --user <start|stop|restart|reload|enable|disable> fsysbot.service' to control your Eggdrop