mirror of
https://github.com/EnergyMech/energymech.git
synced 2025-12-17 15:36:50 +00:00
Initial Import
This commit is contained in:
parent
0b366093a7
commit
aba69cb20f
339
COPYING
Normal file
339
COPYING
Normal file
@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
30
CREDITS
Normal file
30
CREDITS
Normal file
@ -0,0 +1,30 @@
|
||||
If you feel left out, feel free to contact me (proton).
|
||||
|
||||
Contributors in alphabetical order:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Azmodan patches, testing & documentation
|
||||
Deke source cleanups
|
||||
detriment bug reports
|
||||
DMC bug reports
|
||||
endorphin major programming, energymech.net domain
|
||||
guppy ftp hosting, patches
|
||||
[IO] DNS hosting
|
||||
jugslam bug fix
|
||||
MadCamel major programming
|
||||
Mourgos patches
|
||||
mr_c bug reports
|
||||
Nemesis128 python scripting backend
|
||||
polygon major programming
|
||||
proton major programming
|
||||
Qm-D bug reports
|
||||
sinthetek bug reports
|
||||
The_Dawn testing & bug reports
|
||||
vaniljus website hosting
|
||||
wy|d source cleanups
|
||||
zip- patches
|
||||
|
||||
|
||||
Moral support:
|
||||
~~~~~~~~~~~~~~
|
||||
CaptHowdy, CrazyBear, Dark-Lord, davidX, drlfa,
|
||||
josh, sin`, SouLShado, symetrix, The_1
|
||||
105
Makefile
Normal file
105
Makefile
Normal file
@ -0,0 +1,105 @@
|
||||
#
|
||||
# EnergyMech, IRC Bot software
|
||||
# Copyright (c) 1997-2009 proton
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
|
||||
MISCFILES = COPYING CREDITS README README.TCL TODO VERSIONS VERSIONS-1 Makefile configure \
|
||||
checkmech sample.conf sample.py sample.tcl sample.userfile default.bigchars
|
||||
|
||||
HELPFILES = help/8BALL help/ACCESS help/ALIAS help/AWAY help/BAN help/BANLIST help/BYE \
|
||||
help/CCHAN help/CHACCESS help/CHANBAN help/CHANNELS help/CHAT help/CLEARSHIT \
|
||||
help/CMD help/CORE help/CSERV help/CTCP help/CYCLE help/DEOP help/DIE \
|
||||
help/DNS help/DNSSERVER help/DO help/DOWN help/ECHO help/ESAY help/FORGET \
|
||||
help/GREET help/HELP help/IDLE help/INSULT help/INVITE help/JOIN help/KB \
|
||||
help/KICK help/KS help/LAST help/LEVELS help/LINK help/LOAD help/LUSERS help/ME \
|
||||
help/MODE help/MSG help/NAMES help/NEXTSERVER help/NICK help/NOTIFY help/ONTIME \
|
||||
help/OP help/PART help/PASSWD help/PROTECTION help/PYTHON help/PYTHONSCRIPT \
|
||||
help/QSHIT help/RESET help/RKS help/RSHIT help/RSPY help/RT help/SAVE help/SAY \
|
||||
help/SCREW help/SEEN help/SERVER help/SERVERGROUP help/SET help/SETAAWAY \
|
||||
help/SETAOP help/SETAUB help/SETAVOICE help/SETCC help/SETCHANBAN help/SETCKL \
|
||||
help/SETDCC help/SETENFM help/SETENFMODES help/SETENFPASS help/SETFL help/SETFPL \
|
||||
help/SETIKT help/SETKS help/SETMAL help/SETMBL help/SETMDL help/SETMKL \
|
||||
help/SETMODES help/SETMPL help/SETNCL help/SETPASS help/SETPROT help/SETPUB \
|
||||
help/SETRK help/SETSD help/SETSERVERGROUP help/SETSHIT help/SETSO help/SETSTATS \
|
||||
help/SETTOP help/SHIT help/SHITLIST help/SHOWIDLE help/SHUTDOWN help/SITEBAN \
|
||||
help/SITEKB help/SPY help/STATS help/TCL help/TCLSCRIPT help/TIME help/TOPIC \
|
||||
help/UNALIAS help/UNBAN help/UNVOICE help/UP help/UPTIME help/USAGE help/USER \
|
||||
help/USERHOST help/USERLIST help/VER help/VERIFY help/VOICE help/WALL help/WHO \
|
||||
help/WHOIS help/WHOM
|
||||
|
||||
RANDFILES = messages/8ball.txt messages/away.txt messages/insult.txt \
|
||||
messages/kick.txt messages/nick.txt messages/pickup.txt \
|
||||
messages/say.txt messages/signoff.txt messages/version.txt
|
||||
|
||||
STUBFILES = src/Makefile.in src/config.h.in src/ld/mech.ldscript
|
||||
|
||||
TESTFILES = config/cc.c config/inet_addr.c config/ldtest.c \
|
||||
config/ptr_size.c config/socket.c config/tcl.c config/which \
|
||||
config/md5.h config/md5_internal.c config/pw.c \
|
||||
config/inet_aton.c config/unaligned.c config/python.c
|
||||
|
||||
TRIVFILES = trivia/mkindex.c
|
||||
|
||||
SRCFILES = src/alias.c src/auth.c src/bounce.c src/chanban.c src/channel.c \
|
||||
src/core.c src/ctcp.c src/debug.c src/dns.c src/dynamode.c \
|
||||
src/function.c src/gencmd.c src/greet.c src/help.c src/irc.c \
|
||||
src/kicksay.c src/main.c src/mega.c src/net.c src/net_chan.c \
|
||||
src/note.c src/notify.c src/ons.c src/parse.c src/perl.c \
|
||||
src/prot.c src/python.c src/redirect.c src/reset.c src/seen.c \
|
||||
src/shit.c src/socket.c src/spy.c src/stats.c src/tcl.c \
|
||||
src/telnet.c src/toybox.c src/trivia.c src/uptime.c src/user.c \
|
||||
src/vars.c src/web.c src/md5/md5.c src/md5/md5.h
|
||||
|
||||
HDRFILES = src/defines.h src/global.h src/h.h src/settings.h src/structs.h src/text.h src/usage.h
|
||||
|
||||
CONFFILES = src/Makefile src/config.h
|
||||
|
||||
DISTFILES = $(MISCFILES) $(RANDFILES) $(SRCFILES) $(HELPFILES) \
|
||||
$(STUBFILES) $(HDRFILES) $(TRIVFILES) $(TESTFILES)
|
||||
|
||||
#
|
||||
# simple make rules
|
||||
#
|
||||
|
||||
mech: $(SRCFILES) $(CONFFILES)
|
||||
$(MAKE) -C src energymech
|
||||
|
||||
energymech: $(SRCFILES) $(CONFFILES)
|
||||
$(MAKE) -C src energymech
|
||||
|
||||
clean: FORCE
|
||||
$(MAKE) -C src clean
|
||||
|
||||
install: FORCE
|
||||
$(MAKE) -C src install
|
||||
|
||||
#
|
||||
# packing things up for distribution
|
||||
#
|
||||
|
||||
dist: FORCE
|
||||
$(MAKE) dist2 DISTDIR=`sed 's/^.*VERSION.*"\(.*\)".*$$/emech-\1/p; d;' src/global.h`
|
||||
|
||||
dist2: FORCE
|
||||
rm -rf /tmp/$(DISTDIR)
|
||||
mkdir /tmp/$(DISTDIR)
|
||||
tar cf - $(DISTFILES) | ( cd /tmp/$(DISTDIR) ; tar --preserve -xf - )
|
||||
cd /tmp ; tar cf - $(DISTDIR) | gzip -9 > $(DISTDIR).tar.gz
|
||||
rm -rf /tmp/$(DISTDIR)
|
||||
chmod 644 /tmp/$(DISTDIR).tar.gz
|
||||
|
||||
FORCE:
|
||||
130
README
Normal file
130
README
Normal file
@ -0,0 +1,130 @@
|
||||
,-----------------------------------------------------------------.,---------------------------.
|
||||
| ,-----; ,------, ,-----; ,-------, ,----, , ,-. | ,--------------. |
|
||||
| / ,---' | ,. \ / ,---' | ,--, \ / ,-. \ /| | \ | / ,-. \ |
|
||||
| | |___ | | \ \ | |___ | |__| ;| | `~' / | | | | `---------' \ \ |
|
||||
| | ,--' | | | || ,--' | |--; < | | ,--./ `-' | | / \ |
|
||||
| | |__,-,| | | || |__,-,| | | || | \ |\___. | | / / |
|
||||
| | || | | || || | | || `~' | \ | | ,----------' / |
|
||||
| | || | | / | || | | / | | | | | \ _ \ |
|
||||
| `~~~~~`\/ `---' `/ `~~~~~`\/ `---' `/ `/~~~~~~' |,--' | \_________,' \ \ |
|
||||
| ,---, ,---, ,-----; ,----. ,-. ,--. | / \ |
|
||||
| | \ / | / ,---' / ,--' / | | | | / | |
|
||||
| | \/ || |___ | | | |__| | | / | |
|
||||
| | |\ /| || ,--' | | | ,--. | | ______________,' | |
|
||||
| | | \/ | || |__,-,| | /|| | | | | / / |
|
||||
| | | | || || `--' || | | | | \ / |
|
||||
| | | | || || || | | / | \ / |
|
||||
| `---' `---'`~~~~~`\/ `\___/~~~'`---' `/ | \_________________,' |
|
||||
`-----------------------------------------------------------------'`---------------------------'
|
||||
|
||||
Compiling?
|
||||
~~~~~~~~~~
|
||||
To compile the source:
|
||||
|
||||
1) Uncompress the source code distribution archive.
|
||||
|
||||
2) cd emech-3.0.99p3
|
||||
-- Since you are reading this file, you have most likely already
|
||||
come to this point.
|
||||
|
||||
3) ./configure
|
||||
-- This script will prompt you for features to include or exclude,
|
||||
going with the default is not a bad idea.
|
||||
|
||||
4) make clean install
|
||||
|
||||
If all went well you should now have an executable called
|
||||
``energymech''.
|
||||
|
||||
---*---
|
||||
|
||||
Setup?
|
||||
~~~~~~
|
||||
|
||||
Read the sample.conf file to get an idea of the config file
|
||||
commands and then try to make your own. A basic setup doesnt need
|
||||
much more than NICK, ALTNICK, SET USERFILE, JOIN and SERVER
|
||||
entries, the rest is just tweaks of default values.
|
||||
|
||||
Quick steps:
|
||||
|
||||
1) cp sample.conf mech.conf
|
||||
|
||||
2) pico mech.conf
|
||||
-- replace ''pico'' with your favourite text editor, look through
|
||||
the file for sections to change, you will have to remove lines
|
||||
in order to get the bot to work. Check the file completely!
|
||||
|
||||
3) make a userfile
|
||||
|
||||
construct a temporary file (trick.conf) containing;
|
||||
---------------------------------------------------------------
|
||||
set userfile whateveryouwanttonameit
|
||||
user + handle * *!*yourident@*.yourdomain.com 100 password
|
||||
save
|
||||
shutdown
|
||||
---------------------------------------------------------------
|
||||
|
||||
then 'run' this file with './energymech -f trick.conf'. this
|
||||
will create a userfile with the name you chose ('mech.passwd'
|
||||
is a good descriptive name which I usually use myself).
|
||||
|
||||
re-use the filename you selected in your proper configuration
|
||||
file. and remember to 'rm -f mech.session' if you compiled your
|
||||
energymech with session support.
|
||||
|
||||
4) ./energymech
|
||||
|
||||
That should get you running. If you don't see your bot come on IRC
|
||||
after a few minutes, you should try running the bot in debug mode
|
||||
to see what's going on with...
|
||||
|
||||
./energymech -d
|
||||
|
||||
If you get an 'Unknown option -d', you need to answer 'Y' to debug
|
||||
support when running ./configure from the compiling section above.
|
||||
|
||||
---*---
|
||||
|
||||
Updated Files?
|
||||
~~~~~~~~~~~~~~
|
||||
The main distro-site for the EnergyMech is:
|
||||
|
||||
http://www.energymech.net
|
||||
|
||||
---*---
|
||||
|
||||
More Help?
|
||||
~~~~~~~~~~
|
||||
|
||||
Read the website for goodness sake! Thats what its there for!
|
||||
|
||||
#emech is not a help channel
|
||||
|
||||
If you HAVE to ask a question in #emech then make damn sure that
|
||||
its not covered by the website documentation and try to ask it in
|
||||
a way so that we dont have to type half a book just to tell you
|
||||
the answer.
|
||||
|
||||
Do NOT ask to be guided in #emech. We will under no circumstances
|
||||
help you compile, configure or run a bot.
|
||||
|
||||
We absolutely hate people who come into the channel asking utterly
|
||||
simple questions like `Why doesnt my bot connect', `Whats the
|
||||
command to add a user', etc. If you manage to stay in the channel
|
||||
after asking something like that its simply because we're too damn
|
||||
lazy to kickban your ass.
|
||||
|
||||
We will NOT teach you how to work with UNIX shells or how to use
|
||||
your mech, you have to learn that by yourself. Im noting this here
|
||||
since it seems to be a common misconception that we would.
|
||||
|
||||
In short:
|
||||
|
||||
THIS SOFTWARE IS PROVIDED AS IS. YOU ARE ENTIRELY ON YOUR OWN WHEN
|
||||
IT COMES TO CONFIGURING AND USING IT.
|
||||
|
||||
---*---
|
||||
|
||||
proton, July 24th, 2009.
|
||||
<mailto:proton@energymech.net>
|
||||
76
README.TCL
Normal file
76
README.TCL
Normal file
@ -0,0 +1,76 @@
|
||||
Variables
|
||||
~~~~~~~~~
|
||||
|
||||
$mech_currentnick read only nick of whoever triggered the current action
|
||||
$mech_guid read only GUID of the current bot
|
||||
$mech_nick read only nick of the current bot
|
||||
$mech_wantnick read/write wanted nick of the current bot (write unimplemented)
|
||||
$mech_server read only ID of the server of the current bot
|
||||
$mech_nextserver read/write ID of the next server for the current bot (write unimplemented)
|
||||
$mech_currentchan read only active channel of the current bot
|
||||
$mech_version read only version string of the mech
|
||||
$mech_srcdate read only source date of the mech
|
||||
$mech_class read only class of the mech
|
||||
|
||||
Functions
|
||||
~~~~~~~~~
|
||||
hook timer <spec> <callback>
|
||||
|
||||
<spec> specifier when this event should run
|
||||
<callback> script proc
|
||||
|
||||
callback arguments: {}
|
||||
|
||||
* Still broken
|
||||
|
||||
hook parse <command> <callback>
|
||||
|
||||
<command> can be any IRC command such as PRIVMSG, NOTICE, JOIN, PART, QUIT, etc..
|
||||
<callback> script proc
|
||||
|
||||
callback arguments: {from rest}
|
||||
|
||||
If the callback returns 0 (zero), normal parsing is done by the EnergyMech after
|
||||
the script returns. If non-zero is returned, the bot will not parse the message.
|
||||
|
||||
hook command <command> <callback>
|
||||
|
||||
<command>
|
||||
<callback> script proc
|
||||
|
||||
callback arguments: {from rest}
|
||||
|
||||
It is the scripts responsibility to check access.
|
||||
|
||||
hook dcc_complete - <callback>
|
||||
|
||||
<callback> script proc
|
||||
|
||||
callback arguments: {to filename cps}
|
||||
|
||||
dcc_sendfile
|
||||
|
||||
debug "<text>"
|
||||
|
||||
to_file
|
||||
|
||||
to_server "<text>" [number]
|
||||
|
||||
<text> text to be sent to server
|
||||
[number] max number of lines in the sendq
|
||||
|
||||
* if number is not specified, the line will be sent immediately to the current bots server socket.
|
||||
to_server returns the number of bytes written or -1 on an error
|
||||
(in which case the server socket will have been closed)
|
||||
|
||||
* if number is zero (0), the line will be added to the sendq for the current server socket.
|
||||
to_server returns the number of lines in the sendq
|
||||
|
||||
* if number is a positive integer, the line will only be added to the sendq if the number
|
||||
of lines in the sendq is smaller than the given number.
|
||||
to_server returns the number of lines in the sendq
|
||||
|
||||
! when sending lines directly (number not specified), a newline must be supplied with the buffer.
|
||||
when sending through the sendq, the newline is optional
|
||||
|
||||
userlevel <nickuserhost> [channel]
|
||||
37
TODO
Normal file
37
TODO
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* EnergyMech TODO (May 17th, 2009)
|
||||
*/
|
||||
|
||||
- Script timer
|
||||
|
||||
- Genuine telnet protocol support for telnet sessions (?)
|
||||
|
||||
- SOCKS4/5 support (?)
|
||||
|
||||
- Undernet CService support (IMHO, should be channel settings (set=password, tog=enable/disable) /proton)
|
||||
|
||||
- DalNet Nickserv/Chanserv support (needed? they dont tolerate much bots on that network /proton)
|
||||
|
||||
- Update/complete the help files.
|
||||
|
||||
- Mode +/-o commands to check for SO and if SO is set, check userlevel and make sure user has access before sending MODEs.
|
||||
|
||||
- Make it possible to pipe SPY through another bot.
|
||||
Ex: bots = laurel, hardy; /msg laurel -spy #emech hardy!#emech
|
||||
(done: local bot spy's)
|
||||
|
||||
- Mode +v a user who verifies if channel is set to +m
|
||||
(too clever?)
|
||||
|
||||
- Recognize some common forms of channel spamming (eg, `join #blablabla')
|
||||
(can be done with kicksays?)
|
||||
|
||||
- botnet logic so that all linked bots dont end up on the same server(s)
|
||||
prevent losing channels cuz they were all on the same one -- the rebooted one..
|
||||
|
||||
/*
|
||||
* Most of these features are open for discussion on how to
|
||||
* (or even if) implement them
|
||||
*
|
||||
* Patches are most welcome
|
||||
*/
|
||||
205
VERSIONS
Normal file
205
VERSIONS
Normal file
@ -0,0 +1,205 @@
|
||||
3.0.99p3 -- July 24th, 2009.
|
||||
|
||||
* Added: Python scripting support (supplied by S.Marquis)
|
||||
* Added: Users are copied to other local bots.
|
||||
* Fixed: Obscure configure options for new features.
|
||||
* Fixed: Updated help files.
|
||||
* Fixed: Local bots should now auto-op eachother (if AOP is set).
|
||||
* Fixed: Filenames for various functions is now sanity checked.
|
||||
* Fixed: Saving greet updates to userfile.
|
||||
|
||||
3.0.99p1 -- May 11th, 2009.
|
||||
|
||||
* Added: Scripting hook for dns (only if compiled with rawdns support)
|
||||
Usage(TCL): mech_dns <hostname> <callback_proc>
|
||||
* Added: Scripting hook for commands
|
||||
Usage(TCL): mech_hook command <name_of_command> <tcl_proc_to_run>
|
||||
* Added: DNS command (only if compiled with rawdns support)
|
||||
Usage: DNS <nick|host>
|
||||
* Added: Shit records to debug dump file.
|
||||
* Added: CHANBAN feature
|
||||
* Added: Spy channels can now be created cross-bot.
|
||||
Usage: SPY [STATUS|MESSAGE|RAWIRC|[guid":"|botnick":"] [channel|">" filename]
|
||||
* Added: IRCd extension flags are now recovered in a reset.
|
||||
* Added: BANLIST command also lists +e and +I masks (ircnet)
|
||||
* Added: Recognizes IRCd extensions from the 005 line such as ircnet modes (+e/+I)
|
||||
* Added: SERVERGROUP command and SERVERGROUP setting (per bot setting)
|
||||
Usage: SERVERGROUP [identifier]
|
||||
Usage: SET SERVERGROUP <identifier>
|
||||
* Fixed: async dns should eat less cpu if it bugs.
|
||||
* Fixed: Bot can connect to undernet servers presenting an additional
|
||||
challenge if there is no ident.
|
||||
|
||||
3.0.3 - August 27th, 2008.
|
||||
|
||||
* Fixed: DNS query recursion flag was set incorrectly.
|
||||
|
||||
3.0.2 -- May 8th, 2006.
|
||||
|
||||
* Fixed: Critical crash bug in parse_notice
|
||||
|
||||
3.0.1 -- August 28th, 2005.
|
||||
|
||||
* Fixed: Socket corruption when terminating a DCC or telnet chat.
|
||||
* Fixed: Bouncer using virtual host.
|
||||
* Fixed: Bouncer timeout after irc connection.
|
||||
* Added: Status message for trying a new server.
|
||||
* Fixed: BNCPORT setting now reacts when altering a live port
|
||||
* Added: DIE in config file
|
||||
* Fixed: When users are added or modified, the channel user
|
||||
list will update to reflect the proper user levels.
|
||||
* Fixed: Greet will now display properly in userlist.
|
||||
* Fixed: ALTNICK in sample.conf
|
||||
* Fixed: Cygwin uptime bot type WINMECH
|
||||
* Fixed: Makefile flaws
|
||||
* Fixed: Server removal (server -host)
|
||||
* Fixed: DNS timeout server cycle
|
||||
* Fixed: Channel spy source.
|
||||
|
||||
3.0 -- August 1st, 2005.
|
||||
|
||||
* Added: "USER +handle" now works aswell as "USER + handle"
|
||||
* Fixed: bus error on sparc in async dns
|
||||
* Fixed: crash bug in LINK command (faulty arguments)
|
||||
* Fixed: ENFPASS
|
||||
* Fixed: botnet verify
|
||||
* Added: +NS (non shared) and +RO (readonly) user flags.
|
||||
* Added: CMD command
|
||||
* Removed: ADDLINK/DELLINK commands, use LINK +/-
|
||||
* Added: Verify over botnet
|
||||
* Added: botnet spy source
|
||||
* Added: Multiple channels per user record
|
||||
* Added: sendQ for certain command output
|
||||
* Fixed: faulty error message in KB/SITEKB/SCREW
|
||||
* Added: reset recovers server name
|
||||
* Added: Telnet connections are now recovered in reset.
|
||||
* Added: Shitlist output now shows all relevant information.
|
||||
* Added: Action levels to the KS feature.
|
||||
* Fixed: commands that output tables now output better formatted tables
|
||||
* Fixed: bots crashing when they are kicked (themselves)
|
||||
* Fixed: botnet bots given op without matching access 200.
|
||||
* Fixed: a few commands crashing when given no arguments.
|
||||
* Fixed: USER command setting a users access to zero every change.
|
||||
* Added: Auto-detecting MODES setting on networks with 005 reply.
|
||||
* Changed: OPMODES renamed to MODES, affecting how many modes per line.
|
||||
* Removed: BANMODES setting.
|
||||
* Fixed: Compiled OK with GCC 3.4.3
|
||||
* Removed: ADD, DEL commands, use USER +/- instead.
|
||||
* Fixed: ESAY no longer suffers from buffer overflow problems
|
||||
* Fixed: AUB will no longer unban Shits level 3+
|
||||
* Fixed: Session file now saves all (?) new options and settings
|
||||
* Fixed: NCL (Nick flood kicks) now work properly.
|
||||
* Changed: "NETPASS" setting renamed to "LINKPASS"
|
||||
* Changed: file comment char changed to ; (semicolon)
|
||||
* Removed: ADDSERVER, DELSERVER commands, use SERVER +/- instead.
|
||||
* Added: telnet. you can connect to the bot via the botnet listen socket.
|
||||
* Added: Its now possible to use an internal md5 version if your
|
||||
system does not provide one. ./configure --md5=internal
|
||||
* Added: Settings now have access levels associated with them.
|
||||
It should be impossible to view/set/access a setting if your
|
||||
level is insufficient.
|
||||
* Added: USER command now accepts option +/-host
|
||||
Usage: USER <handle> <+HOST|-HOST> <mask>
|
||||
* Removed: HOST command.
|
||||
* Added: the mech now accepts certain chars at the end of its
|
||||
nickname when you give it commands, ex: "mechname," works
|
||||
* Added: Notify no longer loads automatically, you need
|
||||
to put "NOTIFY -RELOAD" in the configuration file.
|
||||
* Added: Notify nicks can now be added and removed online
|
||||
Usage: NOTIFY [+ <nick> [mask(s)] [:comment]]
|
||||
Usage: NOTIFY [- <nick>]
|
||||
* Added: DCC file receive and settings for DCC control
|
||||
Usage: SET DCCANON <number>
|
||||
Usage: SET DCCUSER <number>
|
||||
Usage: SET DCCFILES <mask [...]>
|
||||
* Removed: REPORT command, use `SET [channel]' for the same functionality
|
||||
* Changed: commands can now be disabled permanently (until bot is restarted)
|
||||
Usage: CHACCESS <command> disable
|
||||
* Added: DYNLIMIT string setting to configure the dynlimit feature
|
||||
Usage: SET DYNLIMIT xx:yy:zz
|
||||
where xx is the number of seconds between each mode update, 20-600 seconds
|
||||
where yy is the number to divide the current user number with to get the
|
||||
window size, 5-50 (ex, 100 users on channel divided by 10 = window of +/-10)
|
||||
where zz is the minimum window size, 1-50.
|
||||
default values are 90 seconds, window 10 and minimum 4; "90:10:4"
|
||||
* Removed: DYNLIMIT toggle
|
||||
* Added: userlist sharing over botnet
|
||||
* Added: MD5 bot linking password exchange support
|
||||
* Added: TCL: `hook dcc_complete - callback'
|
||||
callback arguments: to, filename, cps
|
||||
* Fixed: Compiled OK with GCC 3.4.2 (with -fno-strict-aliasing)
|
||||
* Added: internally generated html for /internalstatus.html
|
||||
and /internaldebug.html (if compiled with debug support)
|
||||
* Added: INFO command shows basic statistics for all channels
|
||||
* Changed: SERVERLIST command removed, SERVER command with
|
||||
no arguments now lists all known servers
|
||||
* Added: Support for Undernet WALLCHOPS command (WALL)
|
||||
* Fixed: MODE command now working as intended
|
||||
* Added: tcl_dcc_sendfile <to> <filename>
|
||||
returns filesize on success
|
||||
* Changed: E3 now accepts nicks of any length
|
||||
* Added: DCC filesend: SEND [to] <filename>
|
||||
* Added: now using async/rawdns to lookup uptime hostname
|
||||
* Added: now using async/rawdns to connect to irc servers
|
||||
* Changed: timestamp in log format now includes year, month, date
|
||||
* Fixed: crash bug with `SETPASS <user> none'
|
||||
* Fixed: crash bug with HELP commands having no arguments
|
||||
* Added: ALTNICK setting for desired alternate nicks
|
||||
* Fixed: Removed lingering prototypes in h.h [ wy|d + Deke ]
|
||||
* Added: MD5 support for password encryption
|
||||
* Fixed: mech.session now gets saved on SHUTDOWN [ endorphin ]
|
||||
* Added: CTIMEOUT setting for connection timeouts
|
||||
* Added: NOTE command to send notes to users in the userlist
|
||||
Usage: NOTE <handle>
|
||||
* Fixed: Respawn counter now works properly when bot restarts
|
||||
* Added: dynamode.c, dynamic altering of +l limit according
|
||||
to the number of users present in the channel
|
||||
* Fixed: `SETPASS <user> none' bug regarding min pass len
|
||||
* Changed: SeenList is now kept on process level
|
||||
* Added: UMODES setting to control the modes that the bot
|
||||
sets for itself when connecting to servers
|
||||
* Changed: ESAY $tog() has been changed into a full-featured
|
||||
system that handles all settings; $tog() renamed to $var()
|
||||
* Fixed: ESAY $tog() parsing bug causing bad output
|
||||
* Added: Something that still looks like a HTTP interface
|
||||
this is a very sketchy feature sofar tho
|
||||
* Added: Chosen commands {now=HELP,USAGE} can be redirected
|
||||
to other users or channels
|
||||
* Added: ONJOINFILE channel setting, wonder why :]
|
||||
* Added: greets (readded from old times)
|
||||
* Added: Keep debug fd and server sockets when using
|
||||
the RESET command. Even tho it execs, it's never
|
||||
disconnected from the server.
|
||||
* Fixed: Auths not timing out if user was visible in [ found by endorphin ]
|
||||
an old (kicked/parted) channel userlist
|
||||
* Removed: TOG command, use SET instead
|
||||
* Changed: aliases are now way powerful
|
||||
* Added: All types of SPY can be redirected to
|
||||
channels and/or files.
|
||||
Usage: SPY <channel|STATUS|MESSAGE> [channel|">" filename]
|
||||
Usage: RSPY <channel|STATUS|MESSAGE> [nick|channel|">" filename]
|
||||
* Removed: CHANLOG toggle
|
||||
* Removed: STATMSG, SPYMSG, RSTATMSG, RSPYMSG
|
||||
* Added: Short delay for server reconnect actions
|
||||
* Fixed: Random server disconnects
|
||||
* Removed: USTATS, stupid redundant command
|
||||
* Removed: SHITLVL command, use RSHIT+SHIT instead
|
||||
* Removed: All linking and telnet code is gone and
|
||||
pipeuser code is now broken
|
||||
* Changed: config file is now a list of `real' commands
|
||||
* Changed: CMDCHAR <char> --> SET CMDCHAR <char>
|
||||
* Changed: AUTOLINK --> TOG AUTOLINK <0|1|ON|OFF>
|
||||
* Changed: USERFILE <file> --> SET USERFILE <file>
|
||||
* Changed: HASONOTICE --> TOG ONOTICE <0|1|ON|OFF>
|
||||
* Removed: IWM toggle, didnt do anything useful
|
||||
* Fixed: Random disconnects from DCC
|
||||
* Added: Extra entries in randinsult.e
|
||||
* Fixed: Merged endo's seen-ago patch [ endorphin ]
|
||||
* Added: Uptime reporting client code
|
||||
* Fixed: WinGate proxy now works again...
|
||||
* Added: Fastnick option hidden in src/config.h
|
||||
* Fixed: Bot not knowing it was opped when joining [ found by endorphin ]
|
||||
empty channels.
|
||||
* Changed: Split mech.help into ./help/* files
|
||||
* Fixed: No-key-saved in session file plus some small
|
||||
optimizations...
|
||||
582
VERSIONS-1
Normal file
582
VERSIONS-1
Normal file
@ -0,0 +1,582 @@
|
||||
|
||||
2.7.6.1 -- June 4th, 2000.
|
||||
|
||||
* Fixed: Strcat() not skipping to end of string
|
||||
|
||||
2.7.6 -- February 17th, 2000.
|
||||
|
||||
* Fixed: Lockup/crash bug in WALL command
|
||||
* Fixed: Major headache with DIE has been fixed
|
||||
* Fixed: Brain-damaged-undernet-coder-kludge for +k
|
||||
where the key itself is not sent if the user (bot)
|
||||
isnt opped
|
||||
* Fixed: The bot will no longer kick/+ban itself if it
|
||||
triggers massdeop protection
|
||||
* Fixed: You can now delete servers by their real name
|
||||
aswell and not just by the name listed in the config
|
||||
* Fixed: With AOP enabled, AVOICE would not work at all [ endorphin ]
|
||||
* Fixed: DCC user + linking crash bug
|
||||
* Fixed: Major crash bug in the newly optimized
|
||||
chanuser handling...
|
||||
* Fixed: Ghost chanuser problem when the bot joins a
|
||||
channel and someone else joins before the channel is
|
||||
synched (/WHO list has been received)
|
||||
|
||||
2.7.5 -- February 12th, 2000.
|
||||
|
||||
* Removed: UPDATE command (didnt actually have any real
|
||||
effect on anything...)
|
||||
* Changed: spymessages are now prefixed with `[message]'
|
||||
instead of `$'
|
||||
* Changed: The CHANNEL command now shows all the info
|
||||
that CSTATS and ALLSTATS used to show, and CSTATS &
|
||||
ALLSTATS has been removed
|
||||
* Changed: A discusting amount of optimizations...
|
||||
* Changed: Temporarily took out the WinGate question
|
||||
since it doesnt work
|
||||
* Added: configure script now asks if superdebug is to
|
||||
be included instead of enabling it by default
|
||||
* Added: SIGMASTER setting to decide which bot handles
|
||||
signals like, HUP, USR1, etc
|
||||
* Changed: Lots of optimizations
|
||||
* Fixed: New (since 2.7.3) bug with AVOICE system
|
||||
* Changed: Special case get_token()'s split into chop()
|
||||
routine for optimizations
|
||||
|
||||
2.7.4 -- January 31st, 2000.
|
||||
|
||||
* Fixed: DEBUG mishap (possible crasher) in
|
||||
SockConnect() (formerly known as connect_by_number)
|
||||
* Fixed: NOIDLE sending refreshes before the bot was
|
||||
`officially online'
|
||||
* Fixed: SEGV and redundant code in find_userhost()
|
||||
|
||||
2.7.3 -- January 19th, 2000.
|
||||
|
||||
* Fixed: WIN and ALS was missing from feature line
|
||||
* Changed: Listener socks have been made non-blocking
|
||||
* Fixed: Compiling errors re undef'd DEBUG & PIPEUSER
|
||||
* Changed: avoice and on_join() heavily optimized
|
||||
* Changed: Renamed strcasecmp to Strcasecmp cuz some
|
||||
ld tools would bong out when it finds two functions
|
||||
with the same name (one internal, one in libc)
|
||||
* Added: gcc/gprof profiling support
|
||||
* Added: sendnotice() was missing from h.h [ found by azmodan ]
|
||||
* Fixed: The fork bug when superdebug was undef'd
|
||||
* Fixed: Bug in find_userhost() (?) caused crashes
|
||||
when it was called by Link_needop()
|
||||
* Fixed: Unused user records werent skipped in the
|
||||
saveuserlist() routine -- until now
|
||||
|
||||
2.7.2 -- January 16th, 2000.
|
||||
|
||||
* Fixed: Updated server IPs in sample.set
|
||||
* Changed: SeenList memory allocating and handling
|
||||
have been fixed & optimized
|
||||
* Added: More superdebug debug info
|
||||
* Fixed: Memory leaks
|
||||
* Fixed: KSLIST now works [ found by endorphin ]
|
||||
* Added: Channel keys are now saved to session file [ found by detriment ]
|
||||
* Fixed: Help command works again
|
||||
* Fixed: link.c now compiles OK even if PIPEUSER is [ azmodan ]
|
||||
undefined
|
||||
* Fixed: If AVOICE setting was set to 1, it would +v [ endorphin ]
|
||||
everything in sight even though it should only +v AV
|
||||
users, its now handled correctly
|
||||
* Added: Most 2.6.1b11 beta addons have been merged
|
||||
with the current source-tree
|
||||
|
||||
2.7.1 -- December 2nd, 1999.
|
||||
|
||||
* Fixed: needinvite now actually works
|
||||
* Changed: rewrote my_stricmp and renamed it
|
||||
strcasecmp()
|
||||
* Fixed: Small bug in time2away which could cause
|
||||
garbage to be appended to the "am" and "pm" in some
|
||||
time strings.
|
||||
* Changed: telnet users no longer need to verify and
|
||||
never gets deauthenticated
|
||||
* Changed: All f* (buffered file) routines has been
|
||||
replaced with open(), sockread(), send_to_socket(),
|
||||
and equivalents == less libc calls & better code use
|
||||
* Changed: LAST now stops listing "(none)" entries
|
||||
after the first one has been printed
|
||||
* Added: Channel keys can now be specified in the
|
||||
config file like so;
|
||||
CHANNEL <channel> <key>
|
||||
* Changed: DCC clients are now being deleted in the
|
||||
main loop instead of all over the place
|
||||
* Changed: DCC and telnet now uses non-blocking IO
|
||||
* Changed: freadln() has been removed and sockread()
|
||||
is being used to read files instead
|
||||
* Added: BinaryDefault settings are now used to avoid
|
||||
saving default settings in session files
|
||||
* Changed: Rewrote the readcfgfile() function to use
|
||||
sockread() instead of freadln()
|
||||
* Changed: the usage texts has now been moved into
|
||||
the code again. It should be more concurrent aswell
|
||||
as one less external file to keep track of
|
||||
* Changed: Removed 95% of all time() calls by making
|
||||
"now" a global variable. time() is called after
|
||||
select() to update it
|
||||
* Added: -Wshadow switch to configure script so that
|
||||
imporoperly shadowed variables can be weeded out
|
||||
* Fixed: SEGV in RKS (a simple swap of two lines) [ found by mr_c ]
|
||||
|
||||
2.7.0 -- October 24th, 1999.
|
||||
|
||||
* Added: Partyline users are now visible across links
|
||||
* Changed: New routine for reading server input. This
|
||||
breaks wingate support but improves overall quality
|
||||
and speed. All server reads are now completely
|
||||
converted to non-blocking IO
|
||||
* Added: "-o file" option for debug output
|
||||
* Changed: Optimizations in the handling of variables
|
||||
* Added: More warnings for stray settings in config
|
||||
file parser
|
||||
* Changed: Global settings are now bot specific, not
|
||||
process specific as before. This will require that
|
||||
some mech.set files be rewritten (global settings
|
||||
moved into the bot configuration part (and possibly
|
||||
duplicated for multiple bots)).
|
||||
* Fixed: Idle-kick (TOG IK, SET IKT) now works [ endorphin + proton ]
|
||||
* Added: Sanity checking in CMD routines (disallow certain
|
||||
commands, like CHAT, CMD and SHUTDOWN)
|
||||
* Added: Command table compile-time parser has been merged
|
||||
from 2.6.1b10+
|
||||
* Added: --location=LOCATION option in configure script
|
||||
* Fixed: system() calls to reboot/reset the mech has been
|
||||
replaced with an execl() call (in main.c->mech_exec())
|
||||
* Fixed: Makefile stub now handles "make mech" like it
|
||||
should
|
||||
* Fixed: DCC/telnet users who "flood" the partyline
|
||||
with more than 2000 bytes (editable in config.h)
|
||||
are disconnected (chargen DoS fix)
|
||||
* Fixed: Mech now silenty ignores DCC CHAT requests
|
||||
originating from ports below 1024 (chargen DoS fix)
|
||||
* Fixed: (hopefully) checkmech problem on some machines
|
||||
(portable shellscripting is a bitch)
|
||||
* Fixed: get_userlevel() returned 100 for the bot itself,
|
||||
it now returns 200 which is more appropriate
|
||||
* Fixed: "LAST 20" now works as it should
|
||||
* Fixed: Shitlist related bugs, does it all work now?
|
||||
* Added: SHUTDOWN command
|
||||
* Removed: NSL and FINGER commands (this code is much too
|
||||
troublesome, it can be made much more simple and secure)
|
||||
* Added: TODO file
|
||||
* Fixed: CPU-eating bug in connect_to_server()
|
||||
* Fixed: SERVERLIST now reports connection errors properly [ endorphin ]
|
||||
* Changed: AVOICE is now a SET (0 = no autovoice, [ endorphin ]
|
||||
1 = autovoice +AV users, 2 = autovoice everyone)
|
||||
* Fixed: connect_to_server() would connect to the MOST used
|
||||
server in the serverlist, this has been corrected.
|
||||
* Changed: connect_to_server() has been optimized [ proton + endorphin ]
|
||||
* Fixed: parse_kick() would remove the kicker from the [ endorphin ]
|
||||
internal channel lists and not the person being kicked
|
||||
* Fixed: Port parameter for DELSERVER now works properly [ endorphin ]
|
||||
* Changed: Invalid nicks in randnicks.e was replaced with
|
||||
valid ones
|
||||
* Fixed: SEGV in ADDSERVER command (user need access 80+)
|
||||
* Fixed: SEGV in VERIFY caused by too long passwords being
|
||||
allowed. Password must now be between 4 and 50 chars
|
||||
* Fixed: SEGV in SERVER command (user need access 80+)
|
||||
* Fixed: WHO voice/op bug
|
||||
|
||||
2.6.2 -- September 10th, 1999.
|
||||
|
||||
* Added: AutoVoice support.
|
||||
* Added: WinGate -w option for SPAWN command.
|
||||
* Fixed: PASSWD command no longer requires "old" password
|
||||
if no password has been set.
|
||||
Usage: PASSWD [oldpassword] <newpassword>
|
||||
* Fixed: Very vague infinite-loop possibility in server
|
||||
connects existed, it has been fixed.
|
||||
* Fixed: NOIDLE not working [ starlite ]
|
||||
* Fixed: Authentication lost after nick change [ starlite ]
|
||||
* Fixed: Problem with shitlist functions [ starlite ]
|
||||
* Fixed: The "/msg <bot> <cmdchar>" bug.
|
||||
|
||||
2.6.1.1 --
|
||||
|
||||
* Fixed: Problems with CMD execution on multi-headed mechs.
|
||||
* Fixed: Problem with authentications staying in place on
|
||||
multi-headed mechs.
|
||||
* Fixed: ESAY $channels listing inactive/parted/not-joined [ found by DMC ]
|
||||
channels
|
||||
* Fixed: Lockup bug in main loop when dealing with signals.
|
||||
* Fixed: Telnet password checking.
|
||||
* Fixed: Updated servers in sample.set.
|
||||
* Fixed: Bot not rejoining when it's kicked [ found by DMC ]
|
||||
* Fixed: CHAT command not working on Intel hardware.
|
||||
|
||||
2.6.1 --
|
||||
|
||||
## Beta 10 Marker ##
|
||||
* Fixed: SEGV when doing "-TOG * toggle".
|
||||
* Fixed: New bug from Beta 9 wrecking servers connects.
|
||||
* Fixed: Password authentication problem... ouch.
|
||||
|
||||
## Beta 9 Marker ##
|
||||
* Added: NEED-INVITE should now be working.
|
||||
* Changed: Output format of HELP, CHANNELS, SERVERLIST
|
||||
and BANLIST.
|
||||
* Changed: Internal handling of channels. New bugs might
|
||||
have been introduced.
|
||||
* Fixed: A bundle of optimizations.
|
||||
* Fixed: Session data is now also saved on SIGTERM.
|
||||
* Fixed: RT now checks if the user giving the command has
|
||||
access on the target channel. It's also possible to set
|
||||
topics in channels with no +t flag when the bot isnt
|
||||
opped. -t has also been fixed in TOPIC command.
|
||||
* Fixed: Mech rejoined *all* channels known to it when
|
||||
reconnecting to server, this is not correct behaviour
|
||||
since it might have been -PART'ed but not -FORGET'ed.
|
||||
* Fixed: CSERV didnt print the real server name if one
|
||||
was available (well it does now!).
|
||||
* Fixed: User turned into ghost users if they parted the
|
||||
channel with a message.
|
||||
* Added: Help and correct usage line for WHO command.
|
||||
* Fixed: WHOM now formats output correctly for linked bots.
|
||||
* Fixed: vars.c should now compile even with NEWBIE support
|
||||
enabled.
|
||||
|
||||
## Beta 8 Marker ##
|
||||
* Fixed: Crash bug in on_msg() on SunOS.
|
||||
* Fixed: Missing reference to mcmd[] in combot.c.
|
||||
|
||||
## Beta 7 Marker ##
|
||||
* Changed: Source distribution tarball is now unpacked into
|
||||
a versioned directory, GNU-style.
|
||||
* Changed: WHOM output format slightly changed.
|
||||
* Fixed: VOICE doing +o if no nick was given. This is a bug
|
||||
since channel_massmode() was changed.
|
||||
* Changed: Refreshed the mech.help and mech.usage files.
|
||||
* Fixed: USERHOST command now works...
|
||||
* Added: Command USAGE, shows the usage for a command.
|
||||
Usage: USAGE <command>
|
||||
* Changed: Format of LAST output has been changed. It's now
|
||||
also a per-bot list, not a global as before.
|
||||
* Added: Server passwords, ALIAS settings and wingate
|
||||
settings are now saved to session file.
|
||||
* Changed: SET CMDCHAR => CMDCHAR. With no args given, the
|
||||
current commandchar is printed. Only superusers can change
|
||||
the commandchar.
|
||||
Usage: CMDCHAR [cmdchar]
|
||||
* Changed: SET WINGATE => WINGATE
|
||||
Usage: WINGATE <host> <port>
|
||||
* Changed: SET VIRTUAL => VIRTUAL
|
||||
Usage: VIRTUAL <host>
|
||||
* Changed: SET LINKPORT => LINK PORT
|
||||
Usage: LINK PORT <linkport>
|
||||
* Changed: LUSERS output format has been changed.
|
||||
* Fixed: Userlist loading in multi-headed bots.
|
||||
* Fixed: savesession() return values.
|
||||
* Fixed: ALIAS references to on_msg_command[] => mcmd[].
|
||||
* Fixed: Missing @SESSIONS@ thingy in config.h.in.
|
||||
* Removed: Commands AOP, RAOP and PROT: replaced by USER.
|
||||
|
||||
## Beta 6 Marker ##
|
||||
* Added: The missing LINK stuffs in session support. There
|
||||
could still be some more missing though... Also added a
|
||||
configure section for it.
|
||||
* Changed: With NEWBIE support *disabled* the REPORT cmd
|
||||
now prints all the settings in a much more dense format.
|
||||
* Fixed: Autolink would try to connect to entities with no
|
||||
linkport listed, this has been fixed.
|
||||
|
||||
## Beta 5 Marker ##
|
||||
* Changed: No more hardcoded limit for how many bots can
|
||||
run in a process at the same time. Spawn all you want ;P
|
||||
All these changes probably introduced a bunch of new bugs.
|
||||
* Changed: Replaced an unbelievably ugly kludge in on_msg()
|
||||
with some decent code (for "bot cmd ..." style commands).
|
||||
* Fixed: Garbage and potential bugs in do_linkcmd().
|
||||
* Changed: Lots of optimizations/rewrites all over.
|
||||
* Changed: channel_massmode() has been modified to accept
|
||||
nicks and several patterns at a time enabling stuff like
|
||||
"-deop *snuffit.org *aol.com sicko dumbo".
|
||||
* Added: Makefile stub in the root directory which passes
|
||||
on all make commands to the src/Makefile.
|
||||
* Changed: Lots of code optimizations in on_mode().
|
||||
* Fixed: Having +l in ENFM would reset the limit to 69 if
|
||||
the limit was removed. Its now reset to the original value.
|
||||
* Fixed: Spelling error in configure script.
|
||||
|
||||
## Beta 4 Marker ##
|
||||
* Fixed: Small memory leak in parse_part().
|
||||
* Fixed: Typo stuff stopped the bot from undoing bans that
|
||||
were set on protected users by people not in the userlist.
|
||||
* Fixed: Spy now prints channel for both quits and
|
||||
nickchanges. If a person is in several spied-on channels,
|
||||
the change will be seen several times.
|
||||
* Fixed: Lots of bizarre bug-ish stuff in on_kick().
|
||||
* Fixed: Using USER command to set protlevel now works.
|
||||
* Changed: CORE information has been enhanced and the info is
|
||||
presented in a more dense format. This has made the INFO
|
||||
command useless so it has been removed.
|
||||
* Fixed: find_shit() was broken so shitlist wouldnt work.
|
||||
* Changed: Output of HELP command has been changed.
|
||||
* Changed: Output of SERVERLIST command slightly changed.
|
||||
* Fixed: Screwed output in CHANNELS, ALLSTATS and CSTATS
|
||||
commands when both +l and +k was set. Output of CHANNELS
|
||||
command has been slightly changed.
|
||||
|
||||
## Beta 3 Marker ##
|
||||
* Fixed: Problem with %*-style strings in ESAY.
|
||||
* Fixed: Problem adding users with long handle names.
|
||||
* Fixed: BOTLEVEL (200) users could chat/telnet a bot.
|
||||
(BOTLEVEL users *cannot* execute commands tho, they can
|
||||
only listen to statmsgs and partyline).
|
||||
* New command: USER, should make user sharing work altho
|
||||
some parts are still missing. See HELP USER for more details.
|
||||
Usage: USER <handle> <flags ...>
|
||||
* SIGHUP and SIGUSR1 now affect only the 1st created bot.
|
||||
Before it was rather random which performed the action.
|
||||
* Fixed SEGV problem in Atoi(). Caused SEGV if reading config
|
||||
file w/ servers with no ports.
|
||||
|
||||
## Beta 2 Marker ##
|
||||
* Fixed obscure SEGV in the backgrounding routine (Ugly but
|
||||
not a showstopper)
|
||||
* Single char error prevented adding of new KICKSAYs. Fixed.
|
||||
* Public password commands (VERIFY, PASSWD, SETPASS) are
|
||||
ignored to discourage idiots from giving out passwords.
|
||||
* Failed autolinks spew 'Link to "blablabla" failed', now only
|
||||
manual LINK UPs will give that message.
|
||||
* Telnet has been restricted to L10+ users (as with DCC).
|
||||
* With LINKING defined, ADDed users werent locked as needed
|
||||
thus creating ghost users. This would be a major problem
|
||||
when setting up a 2.6.1b1 for the first time... Fixed.
|
||||
* Fixed SEGV in cycle_channel().
|
||||
* Fixed small FD leakage in parse_error().
|
||||
|
||||
## Beta 1 Marker ##
|
||||
* Added BASIC support for userlist sharing over mechnets.
|
||||
Its not quite finished yet.
|
||||
* Added SET WINGATE command.
|
||||
Usage: SET WINGATE <host> <port>
|
||||
* Added missing code for saving the ECHO flag.
|
||||
* Link messages from "$" are passed to send_global_statmsg().
|
||||
This should have been in 2.6.0 but was forgotten.
|
||||
* Verification is required before a bot will reply to
|
||||
DCC CHAT requests.
|
||||
* Fixed small bug in cfg_nickname(). Trailing spaces or [ found by Qm-D ]
|
||||
other illegal nick could mess things up really big
|
||||
* Added WinGate support.
|
||||
* Added PASS support for server connect.
|
||||
* Made [#channel] option for USERLIST command also list
|
||||
global users. Use -C option to list channel-only users.
|
||||
* Added command BYE for "clean" DCC/Telnet disconnects.
|
||||
Usage: BYE
|
||||
* MAJOR struct rewrites. New bugs can have been introduced.
|
||||
|
||||
2.6.0 -- May 27th, 1999
|
||||
|
||||
2.5.31 -- Version changed to 2.6.0
|
||||
|
||||
* LINK DOWN command completed (`Scooby).
|
||||
* Completed $NICK link command for synched bot nicks on
|
||||
mech networks.
|
||||
* leave_channel() has been moved into do_leave().
|
||||
* parse_352() (RPL_WHOREPLY) has been optimized/fixed.
|
||||
* do_steal() and do_rsteal() has been rewritten.
|
||||
* Channel steals has been optimized and #def'd. The steal
|
||||
setting is now part of the channel struct instead of
|
||||
having its own list pointer in the bot struct.
|
||||
* Revenge kick has been optimized.
|
||||
* New config file command: ALIAS, use it to set an alias
|
||||
for an already existing command. A section has been added
|
||||
to the configure script has been added for this feature.
|
||||
Usage: ALIAS <command> <alias>
|
||||
* Telnet now works (it seems anyways), a section in the
|
||||
configure script has been added for this feature. Linking
|
||||
has to be enabled to allow telnet.
|
||||
* Single char error in send_statmsg() has been fixed so that
|
||||
it sends a timestamp as it should.
|
||||
* TRACE command removed. I'd be surprised if anyone even
|
||||
knew what this command was used for.
|
||||
* TOPKICKS command removed. Too much code for so little.
|
||||
* DCCLIST command which was pretty pointless, has been
|
||||
removed (Use WHOM instead).
|
||||
* Single char error made "Virtual host" always appear in
|
||||
the CORE info even if no vhost was set. Fixed.
|
||||
|
||||
## Beta 10 Marker ##
|
||||
* Fixed the no-rejoin-after-disconnection bug.
|
||||
* HELP and HELPFULL now lists all commands as a comma
|
||||
separated list instead of a fixed width table.
|
||||
* CORE will no longer list active channels (use CHANNELS).
|
||||
* CORE will now show the currently set vhost, if any.
|
||||
* SET can now be used to change virtual host of a bot.
|
||||
Usage: SET VIRTUAL <host>
|
||||
* Fixed a problem where a mech with an invalid vhost would
|
||||
cause heavy system load, it now reverts to INADDR_ANY if
|
||||
the vhost cannot be used.
|
||||
* Added code for the "HELP on <command>" and "Level needed:"
|
||||
in the help-routine which I apparently forgot when
|
||||
I remade it.
|
||||
* Removed the BK toggle since all the code for the
|
||||
beep-kicking has been removed earlier.
|
||||
* Added missing help topic for SCREW command.
|
||||
* Command SCREWBAN has been renamed to SCREW.
|
||||
* Default level for SPAWN has been changed from 90 to 100.
|
||||
* Fixed compilation errors in main.c on some UNIX flavours.
|
||||
* There was FD leakage in the do_help() routine so I rewrote
|
||||
the whole thing. This should greatly help overall stability.
|
||||
* Default level for SPYMSG was changed from 80 to 90
|
||||
(Why? Cuz RSPYMSG was level 90...).
|
||||
|
||||
## Beta 9 Marker ##
|
||||
* Userlist related coredumps on 64-bit systems has been
|
||||
fixed (hopefully anyways).
|
||||
* USTATS now checks for matching handles before searching
|
||||
after a user by nick.
|
||||
* Complete rewrite of the README file.
|
||||
* SHITREASON command has been removed: too much code for
|
||||
such a small task IMO, use RSHIT+SHIT instead.
|
||||
* mech.usage routines has been remade yet again. Some
|
||||
commands has been added (DO, JOIN, SET).
|
||||
* URL for www.emech.cx added to README file
|
||||
* mech.help updates (ADD, SET, TOG).
|
||||
* ADD does some extra sanity-checking.
|
||||
* Bots can now be added with the ADD command using both
|
||||
"BOT" level and "200" ("BOT" is only for backwards
|
||||
compatibility, it confuses lamers).
|
||||
* HOST command now checks for invalid or global masks
|
||||
before adding them...
|
||||
* SET can now be used to change commandchar.
|
||||
Usage: SET CMDCHAR <char>
|
||||
* SET can now be used to change Linkport.
|
||||
Usage: SET LINKPORT <1-65535>
|
||||
* TOG command now supports arguments for wether a toggle
|
||||
should be SET, UNSET or TOGGLED (default).
|
||||
Usage: TOG [channel|*] <toggle> [0|1|ON|OFF]
|
||||
* Internal handling of CMD command execution have been
|
||||
improved somewhat...
|
||||
* Command spy (TOG SPY) now wont print random nicks when
|
||||
commands are executed across links.
|
||||
* Completed the "mech.usage" file. I will try to make
|
||||
good use of it now aswell ;)
|
||||
* configure script now checks if -pipe switch works and
|
||||
uses it (cuts down on disk access).
|
||||
* The beep-flooding code has been removed (when was the
|
||||
last time you saw a tsunami flood?)
|
||||
* The problem with the mech joining and parting when
|
||||
its lagged has been fixed (and hopefully nothing new
|
||||
has been put in its place).
|
||||
* HELP commands with no arguments given now calls HELPFULL [ guppy ]
|
||||
to list all commands
|
||||
* HELPFULL now lists commands grouped by level.
|
||||
* The 'Beginner help routines' are as follows:
|
||||
DIE command in mech configuration file.
|
||||
REPORT shows descriptions of what certain switches do.
|
||||
* New linking debug code added (debug output to LinkEvents
|
||||
file). Debug need to be compiled into the mech to enable
|
||||
LinkEvents debugging.
|
||||
* Added a Levels section in the online help file (mech.help).
|
||||
* The SETPASS now works as its supposed to (it used to allow
|
||||
users to set passwords of any other user. Also, you can now
|
||||
unset passwords with SETPASS command if you're at level 80
|
||||
or higher, just do "SETPASS <handle> none".
|
||||
* Bad behaviour on behalf of the configure script could
|
||||
cause some big problems (Linux systems) if it was executed
|
||||
as root, this has been fixed.
|
||||
|
||||
## Beta 5 Marker ##
|
||||
* New command added: DELSERVER, and updated mech.help and
|
||||
mech.usage with help for it.
|
||||
* Added a couple of lines to randsignoff.e
|
||||
* Internal structure of serverlist has been reworked for
|
||||
a more efficient (hopefully anyways) format. Some commands
|
||||
has changed functionality because of it (CORE,SERVERLIST).
|
||||
* New variable for ESAY: $links. It will show all active mech
|
||||
links (if any), prefixing local uplinks with a '*' and
|
||||
remote uplinks with a '='.
|
||||
* Setting prot to 4 would actually reset it to 0 due to
|
||||
a storage limit (only 2 bits were used), this has been
|
||||
fixed (it now uses 3 bits, woopie!!)...
|
||||
* Linking has been fixed/changed to make it more stable and
|
||||
foolproof. Linking with older versions will no longer work,
|
||||
so make sure you upgrade...
|
||||
* SIGSEGV handler is no longer installed when mech is runnin
|
||||
in debug mode (mech -d) so that coredumps will be made
|
||||
properly.
|
||||
* Removed LOADKICKS and SAVEKICKS commands since they dont
|
||||
serv much of a purpose + updated helpfile.
|
||||
* Fixed an infinite loop in the USERLIST command
|
||||
(only happened if you listed users based on mask).
|
||||
* Fixed infinite loops around SIGSEGV debug routine (it now
|
||||
cores and exists even if it was compiled with debug).
|
||||
* Minor/cosmetic changes of configuration file loader.
|
||||
* configure script now asks user about compile time options
|
||||
and alters config.h based on the answers.
|
||||
* Added a DIE option for configuration file loader to get
|
||||
rid of the absolute lamers who copy sample.set to mech.set
|
||||
and run it...
|
||||
|
||||
2.5.30 -- November 15th, 1998
|
||||
|
||||
* Single char error in command replies over links resulting
|
||||
in no replies at all.
|
||||
|
||||
2.5.29 -- November 15th, 1998
|
||||
|
||||
* PROT now works for bots aswell (level<200 = access denied)
|
||||
* PROT command now accepts level 0 to 4, eliminating the
|
||||
need of the RPROT command which has been removed.
|
||||
* More mech.usage...
|
||||
* SESSIONS define is now off by default (sessions isnt fully
|
||||
functioning yet)
|
||||
* Due to braindamage some of the new linking routines caused
|
||||
bots to stick around while entities was unlinked, causing
|
||||
huge link-lists (.whom) after running for a while. This
|
||||
should be fixed now... This fix should also make for more
|
||||
stable linking of mechs :]
|
||||
|
||||
2.5.28 -- November 13, 1998
|
||||
|
||||
FRIDAY THE 13TH!!! -- uh oh...
|
||||
|
||||
* Fixed SESSIONS define in cfgfile.c (error if SESSIONS is
|
||||
undefd).
|
||||
* When you verify, you should be verified with all linked bots,
|
||||
if you have the same password.
|
||||
* SCREWBAN now only accepts nicknames (as it should).
|
||||
* WALL command now supports undernet NOTICE @#channel stuff,
|
||||
add HASONOTICE to your config file to make use of it.
|
||||
|
||||
2.5.27 -- October 24th, 1998
|
||||
|
||||
* You can no longer add multiple identical masks to the same
|
||||
handle. It will complain (HOST command) or silently ignore
|
||||
the mask (internal routines).
|
||||
* Fixed the SPY & RSPY commands (RSPY wasnt working at all).
|
||||
* Added a new user #define for dynamic command levels (change
|
||||
of needed levels with chaccess).
|
||||
* Fixed a few entries in the mech.help file.
|
||||
* Added a few entries to mech.usage.
|
||||
* Updated the sample.set file with some linking stuff.
|
||||
* Added a cfg_noop routine to kill warnings for the */NO* type
|
||||
tags.
|
||||
* Added README file.
|
||||
|
||||
2.5.26 -- October 20th, 1998
|
||||
|
||||
* Fixed the coredump from trying to do
|
||||
``LINK UP unknownentity''
|
||||
* Fixed some config.h defines stuff (when undef'd it would
|
||||
error when compiling).
|
||||
|
||||
2.5.25 -- October 19th, 1998
|
||||
|
||||
* Fixed an infinite loop in send_global_statmsg() when you
|
||||
had more than 2 bots in the same process and chatted more
|
||||
than one bot.
|
||||
* DEL command now only accepts handles to delete.
|
||||
* VOICE with no nickname given did +o instead of +v, fixed.
|
||||
* Added a VERSIONS file...
|
||||
|
||||
2.5.24 -- September 10th, 1998
|
||||
|
||||
no previous record.
|
||||
|
||||
54
checkmech
Executable file
54
checkmech
Executable file
@ -0,0 +1,54 @@
|
||||
#! /bin/sh
|
||||
#--------------------------------------------------
|
||||
# Cron script for EnergyMech 3.0
|
||||
#--------------------------------------------------
|
||||
#
|
||||
# you can add this to your crontab (crontab -e) as
|
||||
# something like:
|
||||
#
|
||||
# 0,10,20,30,40,50 * * * * /path/to/checkmech
|
||||
#
|
||||
# this will check the mech every 10 minutes.
|
||||
#
|
||||
#--------------------------------------------------
|
||||
|
||||
echo "You havent edited checkmech yet!!"
|
||||
exit 0
|
||||
|
||||
# CHANGE THIS LINE!!
|
||||
cd /path/to/energymech/directory
|
||||
|
||||
# name of executable
|
||||
RUN=./mech
|
||||
|
||||
# options passed to the energymech
|
||||
# ( debug, non-default config file... )
|
||||
OPT=
|
||||
|
||||
# example: debug output to `mech.debug' file
|
||||
#OPT=-d -o mech.debug
|
||||
|
||||
# example: non-default configuration file
|
||||
#OPT=-f othermech.conf
|
||||
|
||||
# Send output to...
|
||||
OUTPUT=./mech.cron
|
||||
#OUTPUT=/dev/null
|
||||
|
||||
if [ -r mech.pid ]; then
|
||||
PID=`cat mech.pid`
|
||||
if [ -r /proc/$PID ]; then
|
||||
exit 0
|
||||
fi
|
||||
if ( kill -0 $PID 1> /dev/null 2> /dev/null ); then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# its not running...
|
||||
|
||||
echo >> $OUTPUT
|
||||
echo "Mech restarted:" >> $OUTPUT
|
||||
( date 2>&1 ) >> $OUTPUT
|
||||
echo >> $OUTPUT
|
||||
( $RUN $OPT 2>&1 ) >> $OUTPUT
|
||||
21
config/cc.c
Normal file
21
config/cc.c
Normal file
@ -0,0 +1,21 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3)
|
||||
write(1,"gnucc33\n",9);
|
||||
exit(0);
|
||||
#endif
|
||||
#if (__GNUC__ >= 2) && (__GNUC_MINOR__ >= 95)
|
||||
write(1,"gnucc95\n",8);
|
||||
exit(0);
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
write(1,"gnucc\n",6);
|
||||
#else
|
||||
write(1,"yes\n",4);
|
||||
#endif
|
||||
return(0);
|
||||
}
|
||||
9
config/inet_addr.c
Normal file
9
config/inet_addr.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
struct in_addr ia;
|
||||
ia.s_addr = inet_addr("0.0.0.0");
|
||||
return(0);
|
||||
}
|
||||
|
||||
8
config/inet_aton.c
Normal file
8
config/inet_aton.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
struct in_addr ia;
|
||||
return(inet_aton("0.0.0.0",&ia));
|
||||
}
|
||||
|
||||
32
config/ldtest.c
Normal file
32
config/ldtest.c
Normal file
@ -0,0 +1,32 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#if defined(__GNUC__) && defined(__ELF__)
|
||||
#define __page(x) __attribute__ (( __section__ (x) ))
|
||||
#else
|
||||
#define __page(x) /* nothing */
|
||||
#endif
|
||||
|
||||
#define S(x) x,sizeof(x)
|
||||
|
||||
__page(".text.e")
|
||||
int function1(int a)
|
||||
{
|
||||
return a + 1;
|
||||
}
|
||||
|
||||
__page(".text.c")
|
||||
int function2(int a)
|
||||
{
|
||||
return a + 2;
|
||||
}
|
||||
|
||||
__page(".text.d")
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
if (((void*)main < (void*)function1) && ((void*)function1 < (void*)function2))
|
||||
write(1,S("yes\n"));
|
||||
else
|
||||
write(1,S("no\n"));
|
||||
return(0);
|
||||
}
|
||||
1
config/md5.h
Symbolic link
1
config/md5.h
Symbolic link
@ -0,0 +1 @@
|
||||
../src/md5/md5.h
|
||||
1
config/md5_internal.c
Symbolic link
1
config/md5_internal.c
Symbolic link
@ -0,0 +1 @@
|
||||
../src/md5/md5.c
|
||||
10
config/ptr_size.c
Normal file
10
config/ptr_size.c
Normal file
@ -0,0 +1,10 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
printf("%i\n",sizeof(void*));
|
||||
return(0);
|
||||
}
|
||||
|
||||
27
config/pw.c
Normal file
27
config/pw.c
Normal file
@ -0,0 +1,27 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
char * CRYPT_FUNC (const char *, const char *);
|
||||
int main(void)
|
||||
{
|
||||
char *enc;
|
||||
int md5,des;
|
||||
|
||||
des = md5 = 0;
|
||||
enc = CRYPT_FUNC ("password","$1$XX");
|
||||
if (enc && !strcmp(enc,"$1$XX$HxaXRcnpWZWDaXxMy1Rfn0"))
|
||||
md5 = 1;
|
||||
enc = CRYPT_FUNC ("password","XX");
|
||||
if (enc && !strcmp(enc,"XXq2wKiyI43A2"))
|
||||
des = 1;
|
||||
|
||||
if (md5 && des)
|
||||
write(1,"DESaMD5\n",8);
|
||||
else
|
||||
if (des)
|
||||
write(1,"DES\n",4);
|
||||
else
|
||||
if (md5)
|
||||
write(1,"MD5\n",4);
|
||||
return(0);
|
||||
}
|
||||
8
config/python.c
Normal file
8
config/python.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
Py_Initialize();
|
||||
Py_Finalize();
|
||||
return 0;
|
||||
}
|
||||
9
config/socket.c
Normal file
9
config/socket.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/socket.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int s;
|
||||
s = socket(AF_INET,SOCK_STREAM,0);
|
||||
return(0);
|
||||
}
|
||||
|
||||
10
config/tcl.c
Normal file
10
config/tcl.c
Normal file
@ -0,0 +1,10 @@
|
||||
#include <unistd.h>
|
||||
#include <tcl.h>
|
||||
Tcl_Interp *interp = NULL;
|
||||
int main(void)
|
||||
{
|
||||
interp = Tcl_CreateInterp();
|
||||
Tcl_Init(interp);
|
||||
return(0);
|
||||
}
|
||||
|
||||
19
config/unaligned.c
Normal file
19
config/unaligned.c
Normal file
@ -0,0 +1,19 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
int buserror(char *data)
|
||||
{
|
||||
int *x;
|
||||
x = (int*)(data+1);
|
||||
return(*x);
|
||||
}
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char busdata[6];
|
||||
int x;
|
||||
strcpy(busdata,"Xyes\n");
|
||||
x = buserror(busdata);
|
||||
write(1,&x,4);
|
||||
return(0);
|
||||
}
|
||||
14
config/which
Executable file
14
config/which
Executable file
@ -0,0 +1,14 @@
|
||||
bin=$1
|
||||
spath="`echo $PATH | sed 's/:/ /g;'`"
|
||||
if [ -x $bin ]; then
|
||||
echo $bin
|
||||
exit
|
||||
fi
|
||||
for pd in $spath; do
|
||||
if [ -x $pd/$bin ]; then
|
||||
echo $pd/$bin
|
||||
exit
|
||||
fi
|
||||
done
|
||||
echo 'not found'
|
||||
|
||||
254
default.bigchars
Normal file
254
default.bigchars
Normal file
@ -0,0 +1,254 @@
|
||||
fontname energymech-capitals-icy-height8-v3
|
||||
spacewidth 4
|
||||
charheight 8
|
||||
kerning 1
|
||||
|
||||
chars !
|
||||
,--,
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
\/
|
||||
,--,
|
||||
\__/
|
||||
|
||||
chars .
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
,--,
|
||||
\__/
|
||||
|
||||
chars |
|
||||
,--.
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
`--'
|
||||
|
||||
chars aA
|
||||
,-----,
|
||||
/ ,---,\
|
||||
| |___| |
|
||||
| ,--'| |
|
||||
| | | |
|
||||
| | | |
|
||||
| ,-` `-'
|
||||
|/
|
||||
|
||||
chars bB
|
||||
,------,
|
||||
| ,-. \
|
||||
| |_/ ;
|
||||
| ,-. \
|
||||
| | \ |
|
||||
| `--' |
|
||||
| /
|
||||
`/~~~~~~'
|
||||
|
||||
chars cC
|
||||
,-----;
|
||||
/ ,---'
|
||||
| |
|
||||
| |
|
||||
| | ,-,
|
||||
| `--' |
|
||||
`\ |
|
||||
`~~~`\/
|
||||
|
||||
chars dD
|
||||
,----,
|
||||
| ,, \
|
||||
| | \ \
|
||||
| | | |
|
||||
| | | |
|
||||
| `--' |
|
||||
| |
|
||||
`/~~~~~~'
|
||||
|
||||
chars eE
|
||||
,-----;
|
||||
/ ,---'
|
||||
| |___
|
||||
| ,--'
|
||||
| |__,-,
|
||||
| |
|
||||
| |
|
||||
`~~~~~`\/
|
||||
|
||||
chars fF
|
||||
,-----;
|
||||
/ ,---'
|
||||
| |__
|
||||
| ,--'
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
`/~~'
|
||||
|
||||
chars gG
|
||||
,----,
|
||||
/ ,-. \
|
||||
| | `~'
|
||||
| | ,--,
|
||||
| | \ |
|
||||
| `~' |
|
||||
| |
|
||||
`/~~~~~~'
|
||||
|
||||
chars hH
|
||||
,--. ,---.
|
||||
| | | |
|
||||
| |_| |
|
||||
,' ,-. |
|
||||
| | | |
|
||||
| | | |
|
||||
| ,-` | |
|
||||
|/ `~~~'
|
||||
|
||||
chars iI
|
||||
,--,
|
||||
| |
|
||||
,' |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
`/~~'
|
||||
|
||||
chars jJ
|
||||
,--,
|
||||
| |
|
||||
| |
|
||||
| `.
|
||||
/~\__| |
|
||||
\ |
|
||||
\ |
|
||||
`~~~~~~´
|
||||
|
||||
chars kK
|
||||
,---, ,-.
|
||||
| | / /
|
||||
| |/ /
|
||||
| ,-. ~\
|
||||
| | | |
|
||||
| | | |
|
||||
| | | /
|
||||
`---' `/
|
||||
|
||||
chars lL
|
||||
,---,
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |_,--,
|
||||
| |
|
||||
| |
|
||||
`~~~~~~`/
|
||||
|
||||
chars mM
|
||||
,---, ,---,
|
||||
| \ / |
|
||||
| \/ |
|
||||
| |\ /| |
|
||||
| | \/ | |
|
||||
| | | |
|
||||
| | | |
|
||||
`---' `---'
|
||||
|
||||
chars nN
|
||||
,---, ,---,
|
||||
| \ | |
|
||||
| \ | |
|
||||
| |\ \| |
|
||||
| | \ |
|
||||
| | \ |
|
||||
| | | |
|
||||
`---' `---'
|
||||
|
||||
chars oO
|
||||
,------,
|
||||
/ ,--, |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| `--' |
|
||||
| /
|
||||
`/~~~~~'
|
||||
|
||||
chars pP
|
||||
,-------,
|
||||
| ,--, \
|
||||
| |__| ;
|
||||
| |----'
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
`---'
|
||||
|
||||
chars rR
|
||||
,-------,
|
||||
| ,--, \
|
||||
| |__| ;
|
||||
| |--; <
|
||||
| | | |
|
||||
| | | |
|
||||
| | | /
|
||||
`---' `/
|
||||
|
||||
chars sS
|
||||
,-------,
|
||||
/ ,----'
|
||||
| `---,
|
||||
`-------, \
|
||||
,---, | |
|
||||
| `---' |
|
||||
| |
|
||||
`----------'
|
||||
|
||||
chars tT
|
||||
,-------,
|
||||
\____, \
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
`/~~'
|
||||
|
||||
chars uU
|
||||
,-. ,-,
|
||||
/ | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| `--' |
|
||||
`\ |
|
||||
`~~~~\/
|
||||
|
||||
chars wW
|
||||
,-. ,-,
|
||||
/ | | |
|
||||
| | |\ | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| `-' `-' |
|
||||
`\ /\ |
|
||||
`~~' `~\/
|
||||
|
||||
chars yY
|
||||
, ,-.
|
||||
/| | \
|
||||
/ | | |
|
||||
/ `-' |
|
||||
\___. |
|
||||
\ |
|
||||
| |
|
||||
|,--'
|
||||
5
help/8BALL
Normal file
5
help/8BALL
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
8Ball command randomly gives a positive or negative answer.
|
||||
The ! char is also recognized as commandchar.
|
||||
|
||||
Example: !8ball will I get laid tonight?
|
||||
10
help/ACCESS
Normal file
10
help/ACCESS
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
Show someones access level. If no arguments are given, the bot
|
||||
will display your own access level. You may also query the bot
|
||||
for the access level required for commands, using:
|
||||
ACCESS <commandchar><command>
|
||||
|
||||
For example: ACCESS -ACCESS
|
||||
(If your command char is -)
|
||||
|
||||
See also: userlist
|
||||
21
help/ALIAS
Normal file
21
help/ALIAS
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
Create or delete a command alias. Arguments like $1 will
|
||||
be replaced with the corresponding argument from input.
|
||||
|
||||
$1 The first argument.
|
||||
$1-2 The first and second argument.
|
||||
$2-3 The second and third argument.
|
||||
$1- All arguments starting with the first.
|
||||
$2- All arguments starting with the second.
|
||||
|
||||
Example:
|
||||
ALIAS MEEP SAY $2 $1 $3-
|
||||
|
||||
Would be translated in the following manner:
|
||||
MEEP one two three four -> SAY two one three four
|
||||
|
||||
Aliases may call other aliases and aliases can be used
|
||||
to replace built in commands. Aliases can recurse a
|
||||
maximum of 20 times (prevents infinite loops).
|
||||
|
||||
See also: unalias
|
||||
3
help/AWAY
Normal file
3
help/AWAY
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
Sets the bot away. If no message is specified, previous
|
||||
away status and message (if any) is removed.
|
||||
5
help/BAN
Normal file
5
help/BAN
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Ban a user on a channel. If a mask is given, a ban using
|
||||
the mask will be placed. The user will not be kicked.
|
||||
|
||||
See also: unban, siteban, kb, screw
|
||||
4
help/BANLIST
Normal file
4
help/BANLIST
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Show the banlist for a channel.
|
||||
|
||||
See also: ban, unban
|
||||
4
help/BYE
Normal file
4
help/BYE
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
End your own DCC or telnet connection.
|
||||
|
||||
See also: chat
|
||||
5
help/CCHAN
Normal file
5
help/CCHAN
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Set the current channel. With no argument,
|
||||
the currently set channel is displayed.
|
||||
|
||||
See also: join, part, channels
|
||||
6
help/CHACCESS
Normal file
6
help/CHACCESS
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
Changes the level needed to do a command.
|
||||
|
||||
If "disable" is used instead of the level,
|
||||
the command will be permanently disabled
|
||||
(for as long as the bot remains).
|
||||
0
help/CHANBAN
Normal file
0
help/CHANBAN
Normal file
4
help/CHANNELS
Normal file
4
help/CHANNELS
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Lists the channels the bot is active on.
|
||||
|
||||
See also: join, part, forget
|
||||
4
help/CLEARSHIT
Normal file
4
help/CLEARSHIT
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Clears the shitlist, removing all shit records.
|
||||
|
||||
See also: shit, rshit
|
||||
6
help/CMD
Normal file
6
help/CMD
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
Send a command to linked bots. You can specify a single
|
||||
bot to execute the command. Authentication is done on
|
||||
target bot(s), not the bot you send the command from.
|
||||
|
||||
See also: link
|
||||
4
help/CORE
Normal file
4
help/CORE
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Shows core information about the bot.
|
||||
|
||||
See also: ver, uptime, ontime
|
||||
4
help/CSERV
Normal file
4
help/CSERV
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Shows current server the bot is connected to.
|
||||
|
||||
See also: server, nextserver
|
||||
5
help/CTCP
Normal file
5
help/CTCP
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Send a CTCP request to a user or channel.
|
||||
The reply is displayed in the "STATUS" spy channel.
|
||||
|
||||
See also: spy
|
||||
4
help/CYCLE
Normal file
4
help/CYCLE
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Quickly part and rejoin a channel.
|
||||
|
||||
See also: join, part
|
||||
6
help/DEOP
Normal file
6
help/DEOP
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
Deop a user or users matching the given mask on
|
||||
a certain channel. With a mask, only users with
|
||||
access below the MAL setting are affected.
|
||||
|
||||
See also: down, op, mode
|
||||
7
help/DIE
Normal file
7
help/DIE
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
Kills the bot. If session file is in use, use the
|
||||
SHUTDOWN command instead to preserve the configurations
|
||||
for all bots. If DIE is used, the killed bot(s) will
|
||||
not be saved to the session file.
|
||||
|
||||
See also: reset, shutdown
|
||||
3
help/DNS
Normal file
3
help/DNS
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
Resolve the hostname given or the host of the nick give.
|
||||
If the hostname is an IP, a reverse resolve will be attempted.
|
||||
8
help/DNSSERVER
Normal file
8
help/DNSSERVER
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
Add or remove DNS servers from the internal list.
|
||||
+ip to add a new host, -ip to remove an existing host.
|
||||
Only IP's can be used, hostnames will not work
|
||||
(the resolver cannot resolve itself). With no arguments
|
||||
a list of the current known DNS resolver addresses are
|
||||
shown, the next host to be used is marked with underline.
|
||||
Use `dnsserver -0' to remove all known hosts.
|
||||
4
help/DO
Normal file
4
help/DO
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Sends raw commands to the server.
|
||||
|
||||
Example: DO PRIVMSG #eggdrop :yer all lame, except guppy =)
|
||||
4
help/ECHO
Normal file
4
help/ECHO
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Turns on and off partyline echoing of your own messages.
|
||||
|
||||
See also: chat, user
|
||||
13
help/ESAY
Normal file
13
help/ESAY
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
Works like SAY with some enhancements. As the bot parses the text
|
||||
it replaces predefined variables with their current value:
|
||||
$access Your own access on the current channel
|
||||
$cc Current channel
|
||||
$channels Channels
|
||||
$on Ontime (same as ontime command)
|
||||
$time Current time
|
||||
$var(x) Show current setting for "x"
|
||||
$up Uptime (same as uptime command)
|
||||
$ver EnergyMech version
|
||||
|
||||
See also: say
|
||||
4
help/FORGET
Normal file
4
help/FORGET
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Removes an inactive channel from memory.
|
||||
|
||||
See also: join, part
|
||||
9
help/GREET
Normal file
9
help/GREET
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
When a matching user joins a channel, send a text as a greeting
|
||||
to the channel or the user. Normal greetings and random line
|
||||
greetings are sent to the channel joined as a message. All
|
||||
greetings are sent line buffered.
|
||||
|
||||
greeting Send "greeting".
|
||||
@greetfile Send the entire contents of greetfile as private NOTICEs.
|
||||
%greetfile Pick a random line from greetfile as greeting.
|
||||
12
help/HELP
Normal file
12
help/HELP
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
Online help system.
|
||||
|
||||
<topic> Shows help about a specific topic.
|
||||
<command> Displays help entry for specified command.
|
||||
<level> Displays all commands available at a specified level.
|
||||
<pattern> Shows all help entries matching the pattern.
|
||||
|
||||
If no argument is given, all available commands available are
|
||||
listed grouped by access level.
|
||||
|
||||
See also: usage
|
||||
4
help/IDLE
Normal file
4
help/IDLE
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Show how long a person has been idle.
|
||||
|
||||
See also: showidle
|
||||
4
help/INSULT
Normal file
4
help/INSULT
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Send a random insult to a user or channel.
|
||||
|
||||
See also: pickup
|
||||
3
help/INVITE
Normal file
3
help/INVITE
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
Invite someone to a certain channel. If no nick is given,
|
||||
it defaults to inviting you.
|
||||
5
help/KB
Normal file
5
help/KB
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Kickban a user from a channel. If no reason is given,
|
||||
a random kick message will be used.
|
||||
|
||||
See also: ban, kick, screw, shit
|
||||
5
help/KICK
Normal file
5
help/KICK
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Kick a user from a channel. If no reason is given,
|
||||
a random kick message will be used.
|
||||
|
||||
See also: kb, screw, shit
|
||||
12
help/KS
Normal file
12
help/KS
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
Add a kicksay. The bot kicks users when they say the words.
|
||||
The optinal action is a number from 0 to 3;
|
||||
0 on first offence, send the user a warning,
|
||||
on second offence, kick them.
|
||||
1 kick the user.
|
||||
2 kickban the user.
|
||||
3 kickban and shitlist the user.
|
||||
|
||||
If no arguments are given, the current kicksays will be listed.
|
||||
|
||||
See also: rks
|
||||
3
help/LAST
Normal file
3
help/LAST
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
Shows the last commands done, and who did them
|
||||
Default is 5, showing up to 20.
|
||||
34
help/LEVELS
Normal file
34
help/LEVELS
Normal file
@ -0,0 +1,34 @@
|
||||
Built in levels
|
||||
Level 0: Anonymous user.
|
||||
User is ignored by the bot.
|
||||
Level 10: Partyline user.
|
||||
Users with this level can verify themselves and communicate at
|
||||
a basic level (help, usage, echo, ...) with the bot including
|
||||
using the DCC partyline.
|
||||
Level 20: Informed user.
|
||||
User is allowed to query a few status informations.
|
||||
Level 40: Channel operator.
|
||||
User can op/deop/ban/unban other channel users and set topics.
|
||||
Level 50: Senior Channel operator.
|
||||
User can manipulate the shitlist.
|
||||
Level 60: Channel Maintainer.
|
||||
User can view the bot userlist.
|
||||
Level 70: Bot operator.
|
||||
User can add/remove channels and manipulate the bad words list.
|
||||
Level 80: Bot master.
|
||||
User may change protected topics, enforced modes, is not checked
|
||||
for massmodes/masskicks/clones/revenge kick, can remove passwords
|
||||
with SETPASS, always gets ctcp ping replies and is not affected
|
||||
by PROT levels of other users. User may force bot to load/save
|
||||
setting to/from files.
|
||||
Level 90: Trusted bot master.
|
||||
User may change the bot's nick, spy on channels/messages, change
|
||||
channel settings and commandlevels. User is allowed to add/remove
|
||||
links to other bots.
|
||||
Level 100: Superuser.
|
||||
Superuser, what can he *not* do?
|
||||
Level 200: Bot.
|
||||
Bots can not execute commands by /msg or in any other way.
|
||||
Is also unaffected by massmodes/kicks/clones/revenge, etc...
|
||||
Only bots added with botlevel (200) will be autoopped as
|
||||
a responce to NEEDOP across network links with other bots.
|
||||
18
help/LINK
Normal file
18
help/LINK
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
Add/remove and establish botnet links.
|
||||
|
||||
Add a new bot to the list:
|
||||
LINK +guid password [host port]
|
||||
Host and port is optional, required for making connections to
|
||||
the remote bot, but if they are left out, the local bot can still
|
||||
accept links incoming from the remote bot.
|
||||
|
||||
Remove a bot from the list:
|
||||
LINK -guid
|
||||
|
||||
Attempt to establish a link:
|
||||
LINK guid
|
||||
|
||||
With no arguments it will list all known bots.
|
||||
|
||||
See also: cmd, setautolink
|
||||
4
help/LUSERS
Normal file
4
help/LUSERS
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Same as the irc command /lusers
|
||||
|
||||
See also: stats
|
||||
4
help/ME
Normal file
4
help/ME
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
Make the bot do an action on a certain channel
|
||||
|
||||
See also: say, esay, msg
|
||||
5
help/MODE
Normal file
5
help/MODE
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Set or unset channel modes. Can also be used
|
||||
to change the modes of the bot.
|
||||
|
||||
See also: op, deop, voice, unvoice
|
||||
3
help/MSG
Normal file
3
help/MSG
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: MSG <nick|channel> <message>
|
||||
Send a message to a person or channel.
|
||||
See also: SAY, ESAY, ME
|
||||
3
help/NAMES
Normal file
3
help/NAMES
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: NAMES [channel]
|
||||
Shows names on the specified channel
|
||||
See also: WHO
|
||||
5
help/NEXTSERVER
Normal file
5
help/NEXTSERVER
Normal file
@ -0,0 +1,5 @@
|
||||
Usage: NEXTSERVER
|
||||
Makes the bot go to the next server in the serverlist
|
||||
You can also do 'kill -USR1 <mech_pid>' in the shell
|
||||
to make it switch server.
|
||||
See also: SERVER, ADDSERVER, SERVERLIST
|
||||
4
help/NICK
Normal file
4
help/NICK
Normal file
@ -0,0 +1,4 @@
|
||||
Usage: NICK <nick>
|
||||
Changes the nick of the bot. If the nick given is already
|
||||
in use, the bot will not change its nickname until the
|
||||
occupied nick is available.
|
||||
10
help/NOTIFY
Normal file
10
help/NOTIFY
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
Show people online in the notify list.
|
||||
|
||||
Options can be specified as follows:
|
||||
|
||||
-all Show all nicks, online aswell as offline.
|
||||
-nomatch Show online nicks even if they do not match the known mask(s).
|
||||
-reload Reload the notify configuration file.
|
||||
-full Show full details of each nick.
|
||||
-seen Also show nicks that have been seen even if they are currently not online.
|
||||
3
help/ONTIME
Normal file
3
help/ONTIME
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: ONTIME
|
||||
Shows time connected to current server.
|
||||
See also: UPTIME
|
||||
4
help/OP
Normal file
4
help/OP
Normal file
@ -0,0 +1,4 @@
|
||||
Usage: OP [channel] [nick|mask]
|
||||
Op someone on a given channel. Defaults to opping
|
||||
you in the channel where the command is given.
|
||||
See also: UP, DEOP, MODE
|
||||
6
help/PART
Normal file
6
help/PART
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
Makes the bot part a certain channel. To purge the channel
|
||||
completely from memory, use the FORGET command once it has
|
||||
parted.
|
||||
|
||||
See also: join, forget
|
||||
6
help/PASSWD
Normal file
6
help/PASSWD
Normal file
@ -0,0 +1,6 @@
|
||||
Usage: PASSWD [oldpassword] <newpassword>
|
||||
Changes your password on the bot. The oldpassword parameter only
|
||||
has to be given if a password is already set.
|
||||
Note: Passwords are case-sensitive and are encrypted so not even
|
||||
bot runners will know your password.
|
||||
See also: SETPASS
|
||||
19
help/PROTECTION
Normal file
19
help/PROTECTION
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
Protection level can be 0 through 4 where the specific levels
|
||||
are as follows:
|
||||
|
||||
0 No protection.
|
||||
1 Reop/unban, do nothing to offender.
|
||||
2 Reop/unban, deop offender.
|
||||
3 Reop/unban, kick offender.
|
||||
4 Reop/unban, kickban offender.
|
||||
|
||||
The channel protection level limits the highest protection
|
||||
level that will be enforced. For example, if channel protection
|
||||
level is set to 2 and a user has protection level 4, that user
|
||||
will still be treated as having only level 2 on that channel.
|
||||
|
||||
If channel protection level is set to 0 (zero), protection
|
||||
will not be enforced at all.
|
||||
|
||||
See also: setprot, user, userlist
|
||||
6
help/PYTHON
Normal file
6
help/PYTHON
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
Execute a Python command. This command is only available if
|
||||
the PLEASE_HACK_MY_SHELL option was enabled during the
|
||||
compiling. It is an extremely risky command to allow.
|
||||
|
||||
============ CONSIDER YOURSELF WARNED ============
|
||||
2
help/PYTHONSCRIPT
Normal file
2
help/PYTHONSCRIPT
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
Load a Python script into the energymech.
|
||||
3
help/QSHIT
Normal file
3
help/QSHIT
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: QSHIT <nick> [reason]
|
||||
Quick shit. Uses preset defaults for channel and shitlevel.
|
||||
See also: SHIT, RSHIT, SHITLIST
|
||||
6
help/RESET
Normal file
6
help/RESET
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
Restarts the bot completely. Same as killing the bot
|
||||
and restarting it from the shell. The bot will attempt
|
||||
to keep network connections alive (IRC server, DCC).
|
||||
|
||||
See also: die, shutdown
|
||||
3
help/RKS
Normal file
3
help/RKS
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: RKS <channel> <pattern of words banned>
|
||||
Removes a kicksay
|
||||
See also: KS, KSLIST
|
||||
3
help/RSHIT
Normal file
3
help/RSHIT
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: RSHIT <channel> <nick|userhost>
|
||||
Removes someone from the shitlist
|
||||
See also: SHIT, SHITLIST
|
||||
5
help/RSPY
Normal file
5
help/RSPY
Normal file
@ -0,0 +1,5 @@
|
||||
Usage: RSPY <channel> [nick|channel]
|
||||
Stop spying on a certain channel
|
||||
Note: If a nick or channel is given at the end...that person/channel
|
||||
will be removed from spying
|
||||
See also: SPY, SPYMSG, SPYLIST
|
||||
3
help/RT
Normal file
3
help/RT
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: RT <channel>
|
||||
Sets a random topic.
|
||||
See also: TOPIC
|
||||
3
help/SAY
Normal file
3
help/SAY
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: SAY <channel> <message>
|
||||
Send a message to a channel.
|
||||
See also: ME, ESAY, MSG
|
||||
3
help/SCREW
Normal file
3
help/SCREW
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: SCREW [channel] <nick> [reason]
|
||||
Kickban a user on a channel and place two bans using
|
||||
randomized masks.
|
||||
2
help/SEEN
Normal file
2
help/SEEN
Normal file
@ -0,0 +1,2 @@
|
||||
Usage: SEEN <nick>
|
||||
Information on when someone was last seen by the bot.
|
||||
7
help/SERVER
Normal file
7
help/SERVER
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
Add or remove a server. If +/- is left out, the bot will
|
||||
also attempt to connect to the server. If no argument
|
||||
is provided, the list of known servers is displayed.
|
||||
Added servers will be put into the current servergroup.
|
||||
|
||||
See also: cserv, nextserver, servergroup
|
||||
13
help/SERVERGROUP
Normal file
13
help/SERVERGROUP
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
Add or remove a servergroup. If no argument is given, a list
|
||||
of the servergroup identifiers will be displayed including the
|
||||
current one. If the identifier already exists it will make it
|
||||
the currently active one. Servers that are added, are added to
|
||||
the current servergroup. At startup the default servergroup
|
||||
is "default". The "default" servergroup cannot be removed.
|
||||
By setting the SERVERGROUP setting on a bot, that bot will only
|
||||
connect to servers with that same SERVERGROUP. If a bot has no
|
||||
SERVERGROUP setting, it will connect to any server regardless
|
||||
of which servergroup the server belongs to.
|
||||
|
||||
See also: server, setservergroup
|
||||
24
help/SET
Normal file
24
help/SET
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
Change a setting. For channel settings you can use * to change
|
||||
a setting for all known channels.
|
||||
|
||||
If no setting and/or channel is specified, show all current
|
||||
settings affecting the current/selected channel and bot.
|
||||
|
||||
For more help on each setting displayed, use "HELP SETxxx"
|
||||
where the "xxx" is the setting in question.
|
||||
|
||||
Channel settings:
|
||||
ABK, AOP, AUB, AVOICE, CHANBAN, CKL, CTL, DYNLIMIT, ENFM,
|
||||
ENFMODES, FL, FPL, IKT, KS, MAL, MBL, MDL, MKL, MPL, NCL,
|
||||
PROT, PUB, RK, SD, SHIT, SO, STATS, TOP
|
||||
|
||||
Bot settings:
|
||||
AAWAY, ALTNICK, CC, CMDCHAR, CTCP, DCCANON, DCCFILES, DCCUSER,
|
||||
ENFPASS, IDENT, IRCNAME, ISONDELAY, MODES, NETUSERS, NOIDLE,
|
||||
NOTIFYFILE, ONOTICE, RF, RV, SERVERGROUP, SPY, UMODES,
|
||||
USERFILE, VIRTUAL, WINGATE, WINGPORT
|
||||
|
||||
Process settings:
|
||||
AUTOLINK, BNCPORT, CTIMEOUT, LINKPASS, LINKPORT, QCHAR, QDELAY,
|
||||
QFILE, SEENFILE, UPHOST, UPNICK, UPPORT, WEBPORT
|
||||
6
help/SETAAWAY
Normal file
6
help/SETAAWAY
Normal file
@ -0,0 +1,6 @@
|
||||
Usage: SET AAWAY <value>
|
||||
|
||||
Setting for how long in minutes the bot waits idle before setting
|
||||
AWAY status and a random away message. Any privmsg sent by the bot
|
||||
resets the idle-timer to zero.
|
||||
To disable auto-away set a value of 0.
|
||||
3
help/SETAOP
Normal file
3
help/SETAOP
Normal file
@ -0,0 +1,3 @@
|
||||
Usage: TOG [channel] AOP [0|1|on|off]
|
||||
|
||||
Toggles the auto-opping of users if verified.
|
||||
4
help/SETAUB
Normal file
4
help/SETAUB
Normal file
@ -0,0 +1,4 @@
|
||||
Usage: SET [channel] AUB <value>
|
||||
|
||||
Erases old bans automatically, this sets how many minutes old they have to be.
|
||||
To disable auto-unbanning set a value of 0.
|
||||
6
help/SETAVOICE
Normal file
6
help/SETAVOICE
Normal file
@ -0,0 +1,6 @@
|
||||
Usage: SET [channel] AVOICE <level>
|
||||
|
||||
Sets the autovoice level for a channel.
|
||||
0 - disable autto-voice for everyone
|
||||
1 - voice +AV users as they join
|
||||
2 - voice everyone as they join
|
||||
2
help/SETCC
Normal file
2
help/SETCC
Normal file
@ -0,0 +1,2 @@
|
||||
Usage: TOG CC [0|1|on|off]
|
||||
Toggles the necessity of the command character for doing commands.
|
||||
6
help/SETCHANBAN
Normal file
6
help/SETCHANBAN
Normal file
@ -0,0 +1,6 @@
|
||||
Level needed: 40
|
||||
Usage: SET [channel] CHANBAN [0|1|on|off]
|
||||
|
||||
Enable or disable the chanban feature on a given channel.
|
||||
|
||||
See also: chanban
|
||||
6
help/SETCKL
Normal file
6
help/SETCKL
Normal file
@ -0,0 +1,6 @@
|
||||
Usage: SET [channel] CKL <level>
|
||||
|
||||
Sets the number of lines of caps allowed within a 5 second
|
||||
period before the user will be kicked
|
||||
|
||||
Note: a line with 60% or more is considered to be caps
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user