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