diff --git a/.gitignore b/.gitignore
index 52806ce03..37ee0f2d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,4 @@ config.cache
eggdrop
EGGMOD.stamp
mod.xlibs
+__pycache__
diff --git a/AUTHORS b/AUTHORS
index dc4275d08..02a5fa5f4 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -104,4 +104,4 @@ See also: THANKS, doc/Versions, doc/Changes
------------------------------------------------------------------------------
Copyright (C) 1997 Robey Pointer
-Copyright (C) 1999 - 2023 Eggheads Development Team
+Copyright (C) 1999 - 2024 Eggheads Development Team
diff --git a/CONTENTS b/CONTENTS
index 6b5dbc606..5b622bba6 100644
--- a/CONTENTS
+++ b/CONTENTS
@@ -82,4 +82,4 @@ Last revised: September 21, 2018
Contains information on upgrading from a 1.6 bot to a 1.8 bot.
_____________________________________________________________________
- Copyright (C) 2003 - 2023 Eggheads Development Team
+ Copyright (C) 2003 - 2024 Eggheads Development Team
diff --git a/FEATURES b/FEATURES
index 4de630f7e..ac5095619 100644
--- a/FEATURES
+++ b/FEATURES
@@ -44,4 +44,4 @@ Eggdrop Features
Copyright (C) 1997 Robey Pointer
-Copyright (C) 2000 - 2023 Eggheads Development Team
+Copyright (C) 2000 - 2024 Eggheads Development Team
diff --git a/Makefile.in b/Makefile.in
index 733e3e613..93de77211 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -490,6 +490,7 @@ install-doc: install-start
cd doc/ && $(MAKE_INSTALL) install
install-scripts: install-start
- +@cd scripts/ && $(MAKE_INSTALL) install
+ +@cd scripts/ && $(MAKE_INSTALL) install; \
+ cd ../src/mod && $(MAKE_INSTALL) install-scripts
#safety hash
diff --git a/NEWS b/NEWS
index e6e210449..827acab07 100644
--- a/NEWS
+++ b/NEWS
@@ -317,4 +317,4 @@ Eggdrop v1.9.0:
________________________________________________________________________
Copyright (C) 1997 Robey Pointer
-Copyright (C) 1999 - 2023 Eggheads Development Team
+Copyright (C) 1999 - 2024 Eggheads Development Team
diff --git a/README b/README
index 13c26a332..19e6d9a78 100644
--- a/README
+++ b/README
@@ -60,8 +60,8 @@ FTP
The latest Eggdrop stable source code is always located at
https://geteggdrop.com. You can also download the current stable,
- previous stable, and development snapshot at
- ftp.eggheads.org/pub/eggdrop/source/
+ previous stable, and development snapshot
+ ftp://ftp.eggheads.org/pub/eggdrop/source
Git Development Snapshot
diff --git a/aclocal.m4 b/aclocal.m4
index 76c93ec25..d0924793f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
dnl aclocal.m4: macros autoconf uses when building configure from configure.ac
dnl
-dnl Copyright (C) 1999 - 2023 Eggheads Development Team
+dnl Copyright (C) 1999 - 2024 Eggheads Development Team
dnl
dnl This program is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU General Public License
@@ -20,6 +20,9 @@ dnl
dnl Load tcl macros
builtin(include,m4/tcl.m4)
+dnl Load python macros
+builtin(include,m4/python.m4)
+
dnl Load gnu autoconf archive macros
builtin(include,m4/ax_create_stdint_h.m4)
builtin(include,m4/ax_lib_socket_nsl.m4)
diff --git a/config.h.in b/config.h.in
index f418ea986..30cc2b7da 100644
--- a/config.h.in
+++ b/config.h.in
@@ -2,7 +2,7 @@
/*
* Copyright (C) 1997 Robey Pointer
- * Copyright (C) 1999 - 2023 Eggheads Development Team
+ * Copyright (C) 1999 - 2024 Eggheads Development Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
diff --git a/configure b/configure
index 29ca7c103..2f2ee20a6 100755
--- a/configure
+++ b/configure
@@ -13,7 +13,7 @@
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
-# Copyright (C) 1999 - 2023 Eggheads Development Team
+# Copyright (C) 1999 - 2024 Eggheads Development Team
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
@@ -659,6 +659,8 @@ EGG_CROSS_COMPILING
MOD_UPDIR
DEST
EGGVERSION
+egg_with_python_config
+egg_enable_python
SSL_LIBS
SSL_INCLUDES
DEBCFLGS
@@ -801,6 +803,8 @@ enable_tls
with_sslinc
with_ssllib
enable_tdns
+enable_python
+with_python_config
'
ac_precious_vars='build_alias
host_alias
@@ -1458,6 +1462,9 @@ Optional Features and Packages:
--with-sslinc=PATH Path to OpenSSL headers
--with-ssllib=PATH Path to OpenSSL libraries
--disable-tdns disable threaded DNS core
+ --enable-python enable Python support (autodetect)
+ --disable-python disable Python support
+ --with-python-config=PATH Path to python-config
Some influential environment variables:
CC C compiler command
@@ -1543,7 +1550,7 @@ Copyright (C) 2021 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (C) 1999 - 2023 Eggheads Development Team
+Copyright (C) 1999 - 2024 Eggheads Development Team
_ACEOF
exit
fi
@@ -10603,6 +10610,47 @@ printf "%s\n" "#define EGG_TDNS 1" >>confdefs.h
fi
+# Check for Python
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile the Python module" >&5
+$as_echo_n "checking whether to compile the Python module... " >&6; }
+ # Check whether --enable-python was given.
+if test "${enable_python+set}" = set; then :
+ enableval=$enable_python; egg_enable_python="$enableval"
+fi
+
+ # Check whether --enable-python was given.
+if test "${enable_python+set}" = set; then :
+ enableval=$enable_python; egg_enable_python="$enableval"
+else
+ egg_enable_python="autodetect"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_enable_python" >&5
+$as_echo "$egg_enable_python" >&6; }
+
+
+
+
+# Check whether --with-python-config was given.
+if test "${with_python_config+set}" = set; then :
+ withval=$with_python_config;
+ if test "x$enable_python" != "xno"; then
+ if test -d "$withval" || test -x "$withval"; then
+ egg_with_python_config="$withval"
+ else
+ egg_with_python_config="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Invalid path to python-config. $withval is not a directory and not an executable." >&5
+$as_echo "$as_me: WARNING: Invalid path to python-config. $withval is not a directory and not an executable." >&2;}
+ fi
+ fi
+
+fi
+
+
+
+
# Substitute Makefile variables.
diff --git a/configure.ac b/configure.ac
index 61c67d4e4..78a7e70d5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl configure.ac: this file is processed by autoconf to produce ./configure.
AC_PREREQ([2.71])
AC_INIT([Eggdrop],[1.9.5],[bugs@eggheads.org],[eggdrop],[https://www.eggheads.org])
-AC_COPYRIGHT([Copyright (C) 1999 - 2023 Eggheads Development Team])
+AC_COPYRIGHT([Copyright (C) 1999 - 2024 Eggheads Development Team])
AC_LANG([C])
AC_REVISION([m4_esyscmd([misc/getcommit])])
AC_CONFIG_SRCDIR(src/eggdrop.h)
@@ -14,7 +14,7 @@ AC_PRESERVE_HELP_ORDER
dnl config.h stuff
AH_TOP([/*
* Copyright (C) 1997 Robey Pointer
- * Copyright (C) 1999 - 2023 Eggheads Development Team
+ * Copyright (C) 1999 - 2024 Eggheads Development Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -164,6 +164,10 @@ EGG_TLS_DETECT
# Threaded DNS core
EGG_TDNS_ENABLE
+# Check for Python
+EGG_PYTHON_ENABLE
+EGG_PYTHON_WITHCONFIG
+
# Substitute Makefile variables.
EGG_SUBST_EGGVERSION
diff --git a/doc/ABOUT b/doc/ABOUT
index dd7301edd..615223797 100644
--- a/doc/ABOUT
+++ b/doc/ABOUT
@@ -55,4 +55,4 @@ About Eggdrop
- Tcl -- Eggdrop cannot compile without Tcl installed on your
shell.
- Copyright (C) 1999 - 2023 Eggheads Development Team
+ Copyright (C) 1999 - 2024 Eggheads Development Team
diff --git a/doc/AUTOSCRIPTS b/doc/AUTOSCRIPTS
new file mode 100644
index 000000000..fb427f1d8
--- /dev/null
+++ b/doc/AUTOSCRIPTS
@@ -0,0 +1,249 @@
+Eggdrop Autoscripts
+
+Since it's inception, users have needed to load a Tcl script into
+Eggdrop by downloading a Tcl file, editing the file to customize
+settings, and then sourceing that file in the config file. In v1.10, the
+Autoscripts system was added to make this process a little more
+user-friendly. The autoscripts system helps by:
+
+- Centralizing commonly-used scripts in a single location
+- Allowing scripts to be downloaded via the partyline
+- Allowing script settings to be configured via the partyline
+- Allowing user-written scripts to be managed by the autoscripts
+ system
+- Providing a documented API to write autoscripts-compatible scripts
+
+AUTOSCRIPTS USAGE
+
+To view available autoscript commands, type .autoscript on the
+partyline. This will open up a special Eggdrop console that doesn't
+require you to prefix commands with a '.' . The following sub-commands
+are available for use with script:
+
+remote
+
+This command will list scripts hosted on the Eggdrop website that are
+available to be downloaded and installed on your Eggdrop.
+
+fetch
-
-
+
+
+
+
+
@@ -45,6 +44,7 @@
Eggdrop was created around December 1993 to help stop the incessant wars
on #gayteen. It spawned from another bot that was in the process of being
@@ -144,7 +144,7 @@
The Eggdrop bot is Copyright (C) by Robey Pointer. As of January 1997, Eggdrop is distributed according to the GNU General Public License. There should be a copy of this license in the COPYING file. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. As of Eggdrop 1.3.28, all changes made by the Eggheads Development Team to the Eggdrop source code and any related files are Copyright (C) by Eggheads Development Team. The source code will still be distributed according to the GNU General Public License as Robey Pointer did in the past. Releases previous to 1.0m were made using a different licensing scheme. You may, at your option, use the GNU General Public License on those versions (instead of the license packaged with them) with Robey’s blessing. For any versions bearing a copyright date of 1997 or later, you have no choice - you must use the GNU General Public License.
The files match.c, net.c and blowfish.c are exempt from the above restrictions. match.c is original code by Chris Fuller and has been placed by him into the public domain. net.c is by Robey has placed it in the public domain. blowfish.c is by various sources and is in the public domain as well. All 3 files contain useful functions that could easily be ported to other applications.
Tcl is by John Ousterhout and is in no way affiliated with Eggdrop. It likely has its own set of copyrights and what-nots.
Eggdrop is a free, open source software program built to assist in managing an IRC channel. It is the world’s oldest actively-maintained IRC bot and was designed to be easily used and expanded on via it’s ability to run Tcl scripts. Eggdrop can join IRC channels and perorm automated tasks such as protecting the channel from abuse, assisting users obtain their op/voice status, provide information and greetings, host games, etc.
Eggdrop requires Tcl (and its development header files) to be present on the system it is compiled on. It is also strongly encouraged to install openssl (and its development header files) to enable TLS-protected network communication.
This is the quick install guide; if you have had little or no experience
with UNIX or Eggdrop, READ THE README FILE NOW! This file is best for
experienced users.
For more information on compiling Eggdrop, see the Compile Guide in
doc/COMPILE-GUIDE (and of course, the README FILE).
Modules are small pieces of code that can either be compiled into the
binary or can be compiled separately into a file. This allows for a much
smaller binary.
Make SURE that you select your +n (owner) users wisely. They have 100%
access to your bot and account. ONLY GIVE THIS POWER TO SOMEONE YOU
@@ -127,7 +123,7 @@
Eggdrop is the world’s most popular Internet Relay Chat (IRC) bot; it is
freely distributable under the GNU General Public License (GPL). Eggdrop
@@ -164,16 +160,16 @@
Eggdrop development has moved from a CVS-based version control system to
git. If you are interested in trying out the VERY LATEST updates to
@@ -194,7 +190,7 @@
Before you can compile Eggdrop, Tcl must be installed on your system. Many systems have Tcl installed on them by default (you can check by trying the command “tclsh”; if you are given a ‘%’ for a prompt, it is, and you can type ‘exit’ to exit the Tcl shell. However, Eggdrop also requires the Tcl development header files to be installed. They can often be installed via an OS package manager, usually called something similar to ‘tcl-dev’ for the package name. You can also download Tcl source from https://www.tcl.tk/software/tcltk/download.html.
It is also strongly recommended to install openssl (and its development headers) in order to enable SSL/TLS protection of network data. The header files are often called something similar to ‘libssl-dev’.
The upgrade process for Eggdrop is very simple, simply download the new source code and repeat the compile process. You will want to read the NEWS for any new configuration file settings you want to add. Please see Upgrading for full details.
Eggdrop has some command line options - not many, because most things
should be defined through the config file. However, sometimes you may
@@ -255,7 +251,7 @@
Systems go down from time to time, taking your Eggdrop along with it. You may not be not around to restart it manually, so you can instead use features of the operating system to automatically restart Eggdrop should it quit for any reason. Eggdrop comes with an autobotchk shell script that can create either a systemd or crontab entry. The systemd option will monitor your Eggdrop and a) start it when the machine boots and b) restart the Eggdrop if it crashes for any reason. The (older) crontab option will check (by default) every 10 minutes to see if your Eggdrop is still running, and attempt to restart it if it is not.
To auto-generate a systemd job, from the Eggdrop install directory, simply run:
We’re trying to keep the documentation up to date. If you feel that
anything is missing here or that anything should be added, etc, please
@@ -283,7 +279,7 @@
It is easy to upgrade Eggdrop to a new version! To have a full picture of the changes made since your last upgrade, we recommend reading the NEWS file. Upgrades from the 1.6 and 1.8 lines of Eggdrop should take place with little to no issues. The config file, user files, and channel files can all be reused.
For support, feel free to visit us on Libera #eggdrop.
To upgrade to a newer version of Eggdrop, first backup your .config file, .user file, and .chan file. While they are saved and should not be overwritten by the upgrade process, it never hurts to make anothere copy :)
Next, view the NEWS file to see what changes have been made, paying particular attention to the config file section to see what new/different commands have been added. Update your config file appropriately.
These are NOT all the changes or new settings; rather just the “killer” changes that may directly affect Eggdrop’s previous performance without modification.
To migrate from a 1.8 to a 1.9 Eggdrop, some changes are suggested to be made in your configuration file:
Eggdrop has deprecated the blowfish module for password hashing in favor of the PBKDF2 module. This is a BIG change which, if done carelessly, has the potential to render stored passwords useless. Please see doc/PBKDF2 for information on how to properly migrate your userfiles and passwords to the new module.
While most 3rd party modules that worked on Eggdrop v1.6/v1.8 should still work with Eggdrop v1.9, many of them contain a version check that only allows them to run on 1.6.x bots. We have removed the version check from some of the more popular modules provide them at ftp://eggheads.org/pub/eggdrop/modules/1.9/
In Eggdrop v1.8, Eggdrop bots would automatically attempt to upgrade any botnet link to an SSL/TLS connection. In v1.9, the user is required to explicitly request an SSL/TLS connection by prefixing the port with a ‘+’. If you wish your botnet to take advantage of encryption, use the .chaddr command to update your ports to start with a ‘+’.
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.
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
Eggdrop can encrypt your userfile, so users can have secure
-passwords. Please note that when you change your encryption
-method later (i.e. using other modules like a md5 module),
-you can’t use your current userfile anymore. Eggdrop will not
-start without an encryption module.
This module has been deprecated in favor of the pbkdf2 module for hashing purposes, such as passwords in the userfile. However, it is still required for encrypting/decrypting strings.
This modules updates Eggdrop to use PBKDF2 for hashing purposes, such as for userfile passwords. It was specifically designed to work with the blowfish module to make the transition from blowfish to pbkdf2 password hashing as easy as possible. If you are transitioning a userfile from 1.8 or earlier, you should load this AND the blowfish module. 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. For new bots, you should load this module by itself and not use the blowfish module. The blowfish module is still required if you use Tcl to encrypt/decrypt strings in Tcl (ie, some scripts). Eggdrop will not start without a password-hashing module loaded.
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
@@ -274,9 +311,9 @@
Modules are independent portions of code that are loaded separately from the main core code of Eggdrop. This allows users to only implement the features they desire without adding the extra overhead or “bloat” of those they don’t, or even write their own module to add an enhancement not currently implemented by the Eggdrop development team. For example, the transfer module provides the ability to transfer files to and from the Eggdrop, and the ident module provides the ability to run an ident server to answer ident requests.
Please note that these are only basic instructions for compiling and installing a module. Please read any and all directions included with the module you wish to install.
Download and un-tar the Eggdrop source code.
Place the new module in its own directory (in the format of
(modulename).mod) in src/mod.
-
Run ./configure (from eggdrop1.9.x/).
+
Run ./configure (from eggdrop-1.9.5/).
Type ‘make config’ or ‘make iconfig’.
Type ‘make’.
Copy the compiled module file (modulename.so) into your bot’s
@@ -130,12 +130,12 @@
Can I compile Eggdrop without dynamic modules? (Static compile)¶
Yes, you can. If the configure script detects that your system CAN’T run modules, it will setup ‘make’ to link the modules in statically for you. You can choose this option yourself by using ‘make static’. You can also try to compile dynamic modules on a static-only system by using ‘make eggdrop’.
YES, when you compile statically, all the modules are linked into the main executable. HOWEVER, they are not enabled until you use loadmodule to enable them, hence you get nearly the same functionality with static modules as with dynamic modules.
-
Copyright (C) 1999 - 2023 Eggheads Development Team
+
Copyright (C) 1999 - 2024 Eggheads Development Team
Eggdrop can encrypt your userfile, so users can have secure passwords.
Please note that when you change your encryption method later (i.e. using
@@ -131,7 +132,7 @@
Search
loadmoduleblowfish
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
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.
@@ -153,17 +150,25 @@
Search
channel add #channel { SETTINGS }
This command adds a static channel to your bot (it cannot be removed via the partyline- we recommend using the .+chan command on the partyline instead). This command will add the channel preconfigured with the specified settings. A full list of settings is defined in Channel Settings.
-
channel set <chan> +/-<setting>
This command modifies a specific channel setting for a channel. There are many different options for channels which you can define. A full list of settings is defined in Channel Settings.
+
+
There are two types of channel settings: value-based settings (where you configure a setting with a number or string), and enable/disable-based settings (where you turn a setting on or off). These settings can be configured via Tcl using the ‘channel set’ command:
+
+
+
channel set <chan> <setting>
This command modifies a specific channel setting for a channel. There are many different options for channels which you can define.
Some settings are enabled or disabled by a plus or minus in front of them, and others directly take text or integer values.
This module provides support for file compression. It can be used
to compress files via Tcl or to transfer the userfile compressed during the
share process, saving bandwidth.
@@ -140,7 +141,7 @@
Search
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
This module provides the normal ctcp replies that you would expect.
Without it loaded, CTCP CHAT will not work.
This module requires: server
@@ -154,7 +155,7 @@
Search
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.
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
This module provides asynchronous dns support. This will avoid long periods
where the bot just hangs there, waiting for a hostname to resolve, which will
often let it timeout on all other connections.
@@ -155,7 +156,7 @@
Search
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
Moves you into the file transfer sub-system, if it has been enabled on this
bot. From there you can browse through the files online and use dcc file
@@ -169,27 +170,27 @@
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.
@@ -150,7 +151,7 @@
Search
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
The Python module is built to use the existing core Tcl commands integrated into Eggdrop via the eggdrop.tcl module. To call an existing Tcl command from Python, you can either load the entire catalog by running importeggdrop.tcl, or be more specific by fromeggdrop.tclimportputserv,putlog,chanlist, etc.
+
Arguments to the Tcl functions are automatically converted as follows:
+
+
None is converted to an empty Tcl object (the empty string, "")
+
List and Tuple is converted to a Tcllist
+
Dict is converted to a Tcldictionary
+
Everything else is converted to a string using the str() method
+
+
Return values from Tcl functions must be manually converted:
+
+
"" the empty string is automatically converted to None
+
everything else is returned as string
+
Tcllist as string can be converted to a Python List using parse_tcl_list
+
Tcldictionary as string can be converted to a Python Dict using parse_tcl_list
+
+
Additionally, a few extra python commands have been created for use without these conversions:
The python version of the bind command is used to create a bind that triggers a python function. The python bind takes the same arguments as the Tcl binds, but here each argument is passed individually. For example, a bind that would look like bindpub*!foomyproc in Tcl is written as bind("pub","*","!foo",myproc). For more information on Eggsrop bind argument syntax please see Bind Types. The eggdrop.tcl.bind command should not be used as it will attempt to call a Tcl proc.
When a python script calls a Tcl command that returns a list via the eggdrop.tcl module, the return value will be a Tcl-formatted list- also simply known as a string. The parse_tcl_list command will convert the Tcl-formatted list into a Python list, which can then freely be used within the Python script.
When a python script calls a Tcl command that returns a dict via the eggdrop.tcl module, the return value will be a Tcl-formatted dict- also simply known as a string. The parse_tcl_dict command will c
+onvert the Tcl-formatted dict into a Python list, which can then freely be used within the Python script.
There are also some variables you can set in your config file:
+
+
+
set allow-resync 0
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.
This example script demonstrates how to use the parse_tcl_list() python command to convert a list returned by a Tcl command into a list that is usable by Python.
This script demonstrates how to use parse-tcl_list() and parse_tcl_dict() to convert a list of dicts provided by Tcl into something that is usuable by Python.
This script shows how to use an existing third-party module to extend a Python script, in this case using an http parser to collect title information from a provided web page.
This module provides very basic seen commands via msg, on channel or via dcc.
This module works only for users in the bot’s userlist. If you are looking
for a better and more advanced seen module, try the gseen module by G’Quann.
@@ -129,7 +130,7 @@
Search
loadmoduleseen
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
@@ -146,7 +147,7 @@
Search
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
The transfer module provides DCC SEND/GET support and userfile transfer
support for userfile sharing.
This module requires: none
@@ -138,12 +139,6 @@
Search
but admits that may be too small. 1024 is standard these days.
Set this to 0 to use turbo-dcc (recommended).
-
set copy-to-tmp 1
Enable this setting if you want to copy files to a temporary location
-before sending or receiving them. This might be useful for file
-stability, but if your directories are NFS mounted, it’s a pain.
-Setting this to 1 is not advised for big files or if you’re low on
-disk space.
-
set xfer-timeout 30
Set here the time (in seconds) to wait before an inactive transfer
times out.
@@ -154,7 +149,7 @@
Search
-
Copyright (C) 2000 - 2023 Eggheads Development Team
+
Copyright (C) 2000 - 2024 Eggheads Development Team
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; instead it focuses around the following key functions:
Logging of general and Twitch-specific events (raids, blocks, bit donations)
There are a few things you should know about how Twitch provides service through the IRC gateway that affects how well Eggdrop can function:
* Twitch does not broadcast JOINs or PARTs for channels over 1,000 users. This renders tracking users on a channel unreliable.
* Twitch does not broadcast MODE changes for moderator status. This (mostly) renders tracking the status of users infeasible. (See Tcl below section for workaround)
@@ -142,7 +143,7 @@
That last section was a little bit of a downer, but don’t worry, we added a TON of functionality to the Tcl API. This module adds binds for the following Twitch events:
This module adds the following commands to the partyline:
* userstate - Lists current userstate on a channel
* roomsstate - Lists current roomstate for a channel
* twcmd - Issues a traditional Twitch web interface command to the Twitch server (/ban, /block, /host, etc)
-
Copyright (C) 2020 - 2023 Eggheads Development Team
+
Copyright (C) 2020 - 2024 Eggheads Development Team
This module reports uptime statistics to http://uptime.eggheads.org. Go look
and see what your uptime is! It takes about 9 hours to show up, so if your
bot isn’t listed, try again later.
@@ -135,7 +136,7 @@
Search
loadmoduleuptime
-
Copyright (C) 2001 - 2023 Eggheads Development Team
+
Copyright (C) 2001 - 2024 Eggheads Development Team
In most modules, all functions/variables (except global and MODULE_start)
should be static. This will drastically reduce the size of modules on
decent systems.
If you have written a module and feel that you wish to share it with the
rest of the Eggdrop community, find us in #eggdrop on Libera. Make sure you
@@ -423,9 +423,9 @@