Browse Source

Import jBot 1.9.6

master
Bernhard Fröhlich 10 years ago
commit
de68b734a4
100 changed files with 10027 additions and 0 deletions
  1. 10
    0
      .classpath
  2. 17
    0
      .project
  3. 552
    0
      LICENSE.txt
  4. 34
    0
      README.txt
  5. BIN
      build/ant-launcher.jar
  6. BIN
      build/ant-nodeps.jar
  7. BIN
      build/ant.jar
  8. 50
    0
      build/build.bat
  9. 34
    0
      build/build.sh
  10. 262
    0
      build/build.xml
  11. BIN
      chats/N2/AbstractNEngine2.class
  12. BIN
      chats/N2/club3k/Club3k.class
  13. 71
    0
      chats/N2/club3k/messages.tpl
  14. BIN
      chats/cellchat/AbstractCellChat.class
  15. BIN
      chats/cellchat/localhost/Localhost.class
  16. 64
    0
      chats/cellchat/localhost/messages.tpl
  17. BIN
      chats/cvc/AbstractCVC.class
  18. BIN
      chats/cvc/localhost/Localhost.class
  19. 62
    0
      chats/cvc/localhost/messages.tpl
  20. BIN
      chats/fcc/AbstractFCC.class
  21. BIN
      chats/fcc/localhost/Localhost.class
  22. 72
    0
      chats/fcc/localhost/messages.tpl
  23. BIN
      chats/freecs/AbstractFreeCS.class
  24. BIN
      chats/freecs/localhost/Localhost.class
  25. 70
    0
      chats/freecs/localhost/messages.tpl
  26. 67
    0
      chats/messages.default.tpl
  27. BIN
      chats/slc/AbstractScreamLabsChatEngine.class
  28. BIN
      chats/slc/localhost/Localhost.class
  29. 76
    0
      chats/slc/localhost/messages.tpl
  30. BIN
      chats/yac/AbstractYac.class
  31. BIN
      chats/yac/localhost/Localhost.class
  32. 68
    0
      chats/yac/localhost/messages.tpl
  33. BIN
      chats/yac/next4u/Next4u.class
  34. 68
    0
      chats/yac/next4u/messages.tpl
  35. 18
    0
      db/db.properties
  36. 1029
    0
      db/db.script
  37. 1133
    0
      db/jbot.sql
  38. 39
    0
      jbot.bat
  39. 288
    0
      jbot.conf
  40. 298
    0
      jbot.conf-mysql
  41. 170
    0
      jbot.sh
  42. BIN
      lib/hsqldb.jar
  43. BIN
      lib/jakarta-regexp.jar
  44. BIN
      lib/jbot.jar
  45. BIN
      lib/log4j.jar
  46. BIN
      lib/mysql-connector.jar
  47. BIN
      plugins/ChatLoginFloodPlugin.class
  48. BIN
      plugins/FloodPlugin.class
  49. BIN
      plugins/LongWordFilterPlugin.class
  50. BIN
      plugins/QuizPlugin.class
  51. BIN
      plugins/RoomChangerPlugin.class
  52. BIN
      plugins/TestPlugin.class
  53. BIN
      plugins/WelcomePlugin.class
  54. BIN
      plugins/quiz/Highscore.class
  55. BIN
      plugins/quiz/Question.class
  56. BIN
      plugins/quiz/QuestionPool.class
  57. BIN
      plugins/quiz/Quiz.class
  58. BIN
      plugins/quiz/QuizList.class
  59. 223
    0
      src/at/bluelife/jbot/BotKernel.java
  60. 531
    0
      src/at/bluelife/jbot/chats/AbstractChat.java
  61. 52
    0
      src/at/bluelife/jbot/chats/IChat.java
  62. 205
    0
      src/at/bluelife/jbot/chats/N2/AbstractNEngine2.java
  63. 76
    0
      src/at/bluelife/jbot/chats/N2/club3k/Club3k.java
  64. 71
    0
      src/at/bluelife/jbot/chats/N2/club3k/messages.tpl
  65. 210
    0
      src/at/bluelife/jbot/chats/cellchat/AbstractCellChat.java
  66. 39
    0
      src/at/bluelife/jbot/chats/cellchat/localhost/Localhost.java
  67. 64
    0
      src/at/bluelife/jbot/chats/cellchat/localhost/messages.tpl
  68. 194
    0
      src/at/bluelife/jbot/chats/cvc/AbstractCVC.java
  69. 39
    0
      src/at/bluelife/jbot/chats/cvc/localhost/Localhost.java
  70. 62
    0
      src/at/bluelife/jbot/chats/cvc/localhost/messages.tpl
  71. 254
    0
      src/at/bluelife/jbot/chats/fcc/AbstractFCC.java
  72. 39
    0
      src/at/bluelife/jbot/chats/fcc/localhost/Localhost.java
  73. 72
    0
      src/at/bluelife/jbot/chats/fcc/localhost/messages.tpl
  74. 251
    0
      src/at/bluelife/jbot/chats/freecs/AbstractFreeCS.java
  75. 55
    0
      src/at/bluelife/jbot/chats/freecs/localhost/Localhost.java
  76. 70
    0
      src/at/bluelife/jbot/chats/freecs/localhost/messages.tpl
  77. 67
    0
      src/at/bluelife/jbot/chats/messages.default.tpl
  78. 263
    0
      src/at/bluelife/jbot/chats/slc/AbstractScreamLabsChatEngine.java
  79. 38
    0
      src/at/bluelife/jbot/chats/slc/localhost/Localhost.java
  80. 76
    0
      src/at/bluelife/jbot/chats/slc/localhost/messages.tpl
  81. 229
    0
      src/at/bluelife/jbot/chats/yac/AbstractYac.java
  82. 39
    0
      src/at/bluelife/jbot/chats/yac/localhost/Localhost.java
  83. 68
    0
      src/at/bluelife/jbot/chats/yac/localhost/messages.tpl
  84. 203
    0
      src/at/bluelife/jbot/chats/yac/next4u/Next4u.java
  85. 68
    0
      src/at/bluelife/jbot/chats/yac/next4u/messages.tpl
  86. 260
    0
      src/at/bluelife/jbot/core/BotConfig.java
  87. 297
    0
      src/at/bluelife/jbot/core/BotConfigParser.java
  88. 86
    0
      src/at/bluelife/jbot/core/BotConfigPool.java
  89. 402
    0
      src/at/bluelife/jbot/core/BotThread.java
  90. 60
    0
      src/at/bluelife/jbot/core/IUser.java
  91. 145
    0
      src/at/bluelife/jbot/core/User.java
  92. 43
    0
      src/at/bluelife/jbot/core/history/IUserHistory.java
  93. 141
    0
      src/at/bluelife/jbot/core/history/TemporaryUserHistory.java
  94. 103
    0
      src/at/bluelife/jbot/core/timer/ExactTimer.java
  95. 76
    0
      src/at/bluelife/jbot/core/timer/FileWatchdogTimer.java
  96. 29
    0
      src/at/bluelife/jbot/core/timer/ITimer.java
  97. 54
    0
      src/at/bluelife/jbot/core/timer/Timer.java
  98. 165
    0
      src/at/bluelife/jbot/core/timer/TimerPool.java
  99. 56
    0
      src/at/bluelife/jbot/core/timer/WorkerThread.java
  100. 0
    0
      src/at/bluelife/jbot/input/MessageParserPool.java

+ 10
- 0
.classpath View File

@@ -0,0 +1,10 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<classpath>
3
+	<classpathentry kind="src" path="src"/>
4
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
5
+	<classpathentry kind="lib" path="lib/hsqldb.jar"/>
6
+	<classpathentry kind="lib" path="lib/jakarta-regexp.jar"/>
7
+	<classpathentry kind="lib" path="lib/log4j.jar"/>
8
+	<classpathentry kind="lib" path="lib/mysql-connector.jar"/>
9
+	<classpathentry kind="output" path="classes"/>
10
+</classpath>

+ 17
- 0
.project View File

@@ -0,0 +1,17 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<projectDescription>
3
+	<name>jbot</name>
4
+	<comment></comment>
5
+	<projects>
6
+	</projects>
7
+	<buildSpec>
8
+		<buildCommand>
9
+			<name>org.eclipse.jdt.core.javabuilder</name>
10
+			<arguments>
11
+			</arguments>
12
+		</buildCommand>
13
+	</buildSpec>
14
+	<natures>
15
+		<nature>org.eclipse.jdt.core.javanature</nature>
16
+	</natures>
17
+</projectDescription>

+ 552
- 0
LICENSE.txt View File

@@ -0,0 +1,552 @@
1
+		    GNU GENERAL PUBLIC LICENSE
2
+		       Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5
+                 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+			    Preamble
10
+
11
+  The licenses for most software are designed to take away your
12
+freedom to share and change it.  By contrast, the GNU General Public
13
+License is intended to guarantee your freedom to share and change free
14
+software--to make sure the software is free for all its users.  This
15
+General Public License applies to most of the Free Software
16
+Foundation's software and to any other program whose authors commit to
17
+using it.  (Some other Free Software Foundation software is covered by
18
+the GNU Library General Public License instead.)  You can apply it to
19
+your programs, too.
20
+
21
+  When we speak of free software, we are referring to freedom, not
22
+price.  Our General Public Licenses are designed to make sure that you
23
+have the freedom to distribute copies of free software (and charge for
24
+this service if you wish), that you receive source code or can get it
25
+if you want it, that you can change the software or use pieces of it
26
+in new free programs; and that you know you can do these things.
27
+
28
+  To protect your rights, we need to make restrictions that forbid
29
+anyone to deny you these rights or to ask you to surrender the rights.
30
+These restrictions translate to certain responsibilities for you if you
31
+distribute copies of the software, or if you modify it.
32
+
33
+  For example, if you distribute copies of such a program, whether
34
+gratis or for a fee, you must give the recipients all the rights that
35
+you have.  You must make sure that they, too, receive or can get the
36
+source code.  And you must show them these terms so they know their
37
+rights.
38
+
39
+  We protect your rights with two steps: (1) copyright the software, and
40
+(2) offer you this license which gives you legal permission to copy,
41
+distribute and/or modify the software.
42
+
43
+  Also, for each author's protection and ours, we want to make certain
44
+that everyone understands that there is no warranty for this free
45
+software.  If the software is modified by someone else and passed on, we
46
+want its recipients to know that what they have is not the original, so
47
+that any problems introduced by others will not reflect on the original
48
+authors' reputations.
49
+
50
+  Finally, any free program is threatened constantly by software
51
+patents.  We wish to avoid the danger that redistributors of a free
52
+program will individually obtain patent licenses, in effect making the
53
+program proprietary.  To prevent this, we have made it clear that any
54
+patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+  The precise terms and conditions for copying, distribution and
57
+modification follow.
58
+
59
+		    GNU GENERAL PUBLIC LICENSE
60
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+  0. This License applies to any program or other work which contains
63
+a notice placed by the copyright holder saying it may be distributed
64
+under the terms of this General Public License.  The "Program", below,
65
+refers to any such program or work, and a "work based on the Program"
66
+means either the Program or any derivative work under copyright law:
67
+that is to say, a work containing the Program or a portion of it,
68
+either verbatim or with modifications and/or translated into another
69
+language.  (Hereinafter, translation is included without limitation in
70
+the term "modification".)  Each licensee is addressed as "you".
71
+
72
+Activities other than copying, distribution and modification are not
73
+covered by this License; they are outside its scope.  The act of
74
+running the Program is not restricted, and the output from the Program
75
+is covered only if its contents constitute a work based on the
76
+Program (independent of having been made by running the Program).
77
+Whether that is true depends on what the Program does.
78
+
79
+  1. You may copy and distribute verbatim copies of the Program's
80
+source code as you receive it, in any medium, provided that you
81
+conspicuously and appropriately publish on each copy an appropriate
82
+copyright notice and disclaimer of warranty; keep intact all the
83
+notices that refer to this License and to the absence of any warranty;
84
+and give any other recipients of the Program a copy of this License
85
+along with the Program.
86
+
87
+You may charge a fee for the physical act of transferring a copy, and
88
+you may at your option offer warranty protection in exchange for a fee.
89
+
90
+  2. You may modify your copy or copies of the Program or any portion
91
+of it, thus forming a work based on the Program, and copy and
92
+distribute such modifications or work under the terms of Section 1
93
+above, provided that you also meet all of these conditions:
94
+
95
+    a) You must cause the modified files to carry prominent notices
96
+    stating that you changed the files and the date of any change.
97
+
98
+    b) You must cause any work that you distribute or publish, that in
99
+    whole or in part contains or is derived from the Program or any
100
+    part thereof, to be licensed as a whole at no charge to all third
101
+    parties under the terms of this License.
102
+
103
+    c) If the modified program normally reads commands interactively
104
+    when run, you must cause it, when started running for such
105
+    interactive use in the most ordinary way, to print or display an
106
+    announcement including an appropriate copyright notice and a
107
+    notice that there is no warranty (or else, saying that you provide
108
+    a warranty) and that users may redistribute the program under
109
+    these conditions, and telling the user how to view a copy of this
110
+    License.  (Exception: if the Program itself is interactive but
111
+    does not normally print such an announcement, your work based on
112
+    the Program is not required to print an announcement.)
113
+
114
+These requirements apply to the modified work as a whole.  If
115
+identifiable sections of that work are not derived from the Program,
116
+and can be reasonably considered independent and separate works in
117
+themselves, then this License, and its terms, do not apply to those
118
+sections when you distribute them as separate works.  But when you
119
+distribute the same sections as part of a whole which is a work based
120
+on the Program, the distribution of the whole must be on the terms of
121
+this License, whose permissions for other licensees extend to the
122
+entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+Thus, it is not the intent of this section to claim rights or contest
125
+your rights to work written entirely by you; rather, the intent is to
126
+exercise the right to control the distribution of derivative or
127
+collective works based on the Program.
128
+
129
+In addition, mere aggregation of another work not based on the Program
130
+with the Program (or with a work based on the Program) on a volume of
131
+a storage or distribution medium does not bring the other work under
132
+the scope of this License.
133
+
134
+  3. You may copy and distribute the Program (or a work based on it,
135
+under Section 2) in object code or executable form under the terms of
136
+Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+    a) Accompany it with the complete corresponding machine-readable
139
+    source code, which must be distributed under the terms of Sections
140
+    1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+    b) Accompany it with a written offer, valid for at least three
143
+    years, to give any third party, for a charge no more than your
144
+    cost of physically performing source distribution, a complete
145
+    machine-readable copy of the corresponding source code, to be
146
+    distributed under the terms of Sections 1 and 2 above on a medium
147
+    customarily used for software interchange; or,
148
+
149
+    c) Accompany it with the information you received as to the offer
150
+    to distribute corresponding source code.  (This alternative is
151
+    allowed only for noncommercial distribution and only if you
152
+    received the program in object code or executable form with such
153
+    an offer, in accord with Subsection b above.)
154
+
155
+The source code for a work means the preferred form of the work for
156
+making modifications to it.  For an executable work, complete source
157
+code means all the source code for all modules it contains, plus any
158
+associated interface definition files, plus the scripts used to
159
+control compilation and installation of the executable.  However, as a
160
+special exception, the source code distributed need not include
161
+anything that is normally distributed (in either source or binary
162
+form) with the major components (compiler, kernel, and so on) of the
163
+operating system on which the executable runs, unless that component
164
+itself accompanies the executable.
165
+
166
+If distribution of executable or object code is made by offering
167
+access to copy from a designated place, then offering equivalent
168
+access to copy the source code from the same place counts as
169
+distribution of the source code, even though third parties are not
170
+compelled to copy the source along with the object code.
171
+
172
+  4. You may not copy, modify, sublicense, or distribute the Program
173
+except as expressly provided under this License.  Any attempt
174
+otherwise to copy, modify, sublicense or distribute the Program is
175
+void, and will automatically terminate your rights under this License.
176
+However, parties who have received copies, or rights, from you under
177
+this License will not have their licenses terminated so long as such
178
+parties remain in full compliance.
179
+
180
+  5. You are not required to accept this License, since you have not
181
+signed it.  However, nothing else grants you permission to modify or
182
+distribute the Program or its derivative works.  These actions are
183
+prohibited by law if you do not accept this License.  Therefore, by
184
+modifying or distributing the Program (or any work based on the
185
+Program), you indicate your acceptance of this License to do so, and
186
+all its terms and conditions for copying, distributing or modifying
187
+the Program or works based on it.
188
+
189
+  6. Each time you redistribute the Program (or any work based on the
190
+Program), the recipient automatically receives a license from the
191
+original licensor to copy, distribute or modify the Program subject to
192
+these terms and conditions.  You may not impose any further
193
+restrictions on the recipients' exercise of the rights granted herein.
194
+You are not responsible for enforcing compliance by third parties to
195
+this License.
196
+
197
+  7. If, as a consequence of a court judgment or allegation of patent
198
+infringement or for any other reason (not limited to patent issues),
199
+conditions are imposed on you (whether by court order, agreement or
200
+otherwise) that contradict the conditions of this License, they do not
201
+excuse you from the conditions of this License.  If you cannot
202
+distribute so as to satisfy simultaneously your obligations under this
203
+License and any other pertinent obligations, then as a consequence you
204
+may not distribute the Program at all.  For example, if a patent
205
+license would not permit royalty-free redistribution of the Program by
206
+all those who receive copies directly or indirectly through you, then
207
+the only way you could satisfy both it and this License would be to
208
+refrain entirely from distribution of the Program.
209
+
210
+If any portion of this section is held invalid or unenforceable under
211
+any particular circumstance, the balance of the section is intended to
212
+apply and the section as a whole is intended to apply in other
213
+circumstances.
214
+
215
+It is not the purpose of this section to induce you to infringe any
216
+patents or other property right claims or to contest validity of any
217
+such claims; this section has the sole purpose of protecting the
218
+integrity of the free software distribution system, which is
219
+implemented by public license practices.  Many people have made
220
+generous contributions to the wide range of software distributed
221
+through that system in reliance on consistent application of that
222
+system; it is up to the author/donor to decide if he or she is willing
223
+to distribute software through any other system and a licensee cannot
224
+impose that choice.
225
+
226
+This section is intended to make thoroughly clear what is believed to
227
+be a consequence of the rest of this License.
228
+
229
+  8. If the distribution and/or use of the Program is restricted in
230
+certain countries either by patents or by copyrighted interfaces, the
231
+original copyright holder who places the Program under this License
232
+may add an explicit geographical distribution limitation excluding
233
+those countries, so that distribution is permitted only in or among
234
+countries not thus excluded.  In such case, this License incorporates
235
+the limitation as if written in the body of this License.
236
+
237
+  9. The Free Software Foundation may publish revised and/or new versions
238
+of the General Public License from time to time.  Such new versions will
239
+be similar in spirit to the present version, but may differ in detail to
240
+address new problems or concerns.
241
+
242
+Each version is given a distinguishing version number.  If the Program
243
+specifies a version number of this License which applies to it and "any
244
+later version", you have the option of following the terms and conditions
245
+either of that version or of any later version published by the Free
246
+Software Foundation.  If the Program does not specify a version number of
247
+this License, you may choose any version ever published by the Free Software
248
+Foundation.
249
+
250
+  10. If you wish to incorporate parts of the Program into other free
251
+programs whose distribution conditions are different, write to the author
252
+to ask for permission.  For software which is copyrighted by the Free
253
+Software Foundation, write to the Free Software Foundation; we sometimes
254
+make exceptions for this.  Our decision will be guided by the two goals
255
+of preserving the free status of all derivatives of our free software and
256
+of promoting the sharing and reuse of software generally.
257
+
258
+			    NO WARRANTY
259
+
260
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
262
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
266
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
267
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+REPAIR OR CORRECTION.
269
+
270
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+POSSIBILITY OF SUCH DAMAGES.
279
+
280
+		     END OF TERMS AND CONDITIONS
281
+
282
+	    How to Apply These Terms to Your New Programs
283
+
284
+  If you develop a new program, and you want it to be of the greatest
285
+possible use to the public, the best way to achieve this is to make it
286
+free software which everyone can redistribute and change under these terms.
287
+
288
+  To do so, attach the following notices to the program.  It is safest
289
+to attach them to the start of each source file to most effectively
290
+convey the exclusion of warranty; and each file should have at least
291
+the "copyright" line and a pointer to where the full notice is found.
292
+
293
+    <one line to give the program's name and a brief idea of what it does.>
294
+    Copyright (C) <year>  <name of author>
295
+
296
+    This program is free software; you can redistribute it and/or modify
297
+    it under the terms of the GNU General Public License as published by
298
+    the Free Software Foundation; either version 2 of the License, or
299
+    (at your option) any later version.
300
+
301
+    This program is distributed in the hope that it will be useful,
302
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
304
+    GNU General Public License for more details.
305
+
306
+    You should have received a copy of the GNU General Public License
307
+    along with this program; if not, write to the Free Software
308
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
309
+
310
+
311
+Also add information on how to contact you by electronic and paper mail.
312
+
313
+If the program is interactive, make it output a short notice like this
314
+when it starts in an interactive mode:
315
+
316
+    Gnomovision version 69, Copyright (C) year name of author
317
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
318
+    This is free software, and you are welcome to redistribute it
319
+    under certain conditions; type `show c' for details.
320
+
321
+The hypothetical commands `show w' and `show c' should show the appropriate
322
+parts of the General Public License.  Of course, the commands you use may
323
+be called something other than `show w' and `show c'; they could even be
324
+mouse-clicks or menu items--whatever suits your program.
325
+
326
+You should also get your employer (if you work as a programmer) or your
327
+school, if any, to sign a "copyright disclaimer" for the program, if
328
+necessary.  Here is a sample; alter the names:
329
+
330
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
331
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
332
+
333
+  <signature of Ty Coon>, 1 April 1989
334
+  Ty Coon, President of Vice
335
+
336
+This General Public License does not permit incorporating your program into
337
+proprietary programs.  If your program is a subroutine library, you may
338
+consider it more useful to permit linking proprietary applications with the
339
+library.  If this is what you want to do, use the GNU Library General
340
+Public License instead of this License.
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+                                 Apache License
352
+                           Version 2.0, January 2004
353
+                        http://www.apache.org/licenses/
354
+
355
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
356
+
357
+   1. Definitions.
358
+
359
+      "License" shall mean the terms and conditions for use, reproduction,
360
+      and distribution as defined by Sections 1 through 9 of this document.
361
+
362
+      "Licensor" shall mean the copyright owner or entity authorized by
363
+      the copyright owner that is granting the License.
364
+
365
+      "Legal Entity" shall mean the union of the acting entity and all
366
+      other entities that control, are controlled by, or are under common
367
+      control with that entity. For the purposes of this definition,
368
+      "control" means (i) the power, direct or indirect, to cause the
369
+      direction or management of such entity, whether by contract or
370
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
371
+      outstanding shares, or (iii) beneficial ownership of such entity.
372
+
373
+      "You" (or "Your") shall mean an individual or Legal Entity
374
+      exercising permissions granted by this License.
375
+
376
+      "Source" form shall mean the preferred form for making modifications,
377
+      including but not limited to software source code, documentation
378
+      source, and configuration files.
379
+
380
+      "Object" form shall mean any form resulting from mechanical
381
+      transformation or translation of a Source form, including but
382
+      not limited to compiled object code, generated documentation,
383
+      and conversions to other media types.
384
+
385
+      "Work" shall mean the work of authorship, whether in Source or
386
+      Object form, made available under the License, as indicated by a
387
+      copyright notice that is included in or attached to the work
388
+      (an example is provided in the Appendix below).
389
+
390
+      "Derivative Works" shall mean any work, whether in Source or Object
391
+      form, that is based on (or derived from) the Work and for which the
392
+      editorial revisions, annotations, elaborations, or other modifications
393
+      represent, as a whole, an original work of authorship. For the purposes
394
+      of this License, Derivative Works shall not include works that remain
395
+      separable from, or merely link (or bind by name) to the interfaces of,
396
+      the Work and Derivative Works thereof.
397
+
398
+      "Contribution" shall mean any work of authorship, including
399
+      the original version of the Work and any modifications or additions
400
+      to that Work or Derivative Works thereof, that is intentionally
401
+      submitted to Licensor for inclusion in the Work by the copyright owner
402
+      or by an individual or Legal Entity authorized to submit on behalf of
403
+      the copyright owner. For the purposes of this definition, "submitted"
404
+      means any form of electronic, verbal, or written communication sent
405
+      to the Licensor or its representatives, including but not limited to
406
+      communication on electronic mailing lists, source code control systems,
407
+      and issue tracking systems that are managed by, or on behalf of, the
408
+      Licensor for the purpose of discussing and improving the Work, but
409
+      excluding communication that is conspicuously marked or otherwise
410
+      designated in writing by the copyright owner as "Not a Contribution."
411
+
412
+      "Contributor" shall mean Licensor and any individual or Legal Entity
413
+      on behalf of whom a Contribution has been received by Licensor and
414
+      subsequently incorporated within the Work.
415
+
416
+   2. Grant of Copyright License. Subject to the terms and conditions of
417
+      this License, each Contributor hereby grants to You a perpetual,
418
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
419
+      copyright license to reproduce, prepare Derivative Works of,
420
+      publicly display, publicly perform, sublicense, and distribute the
421
+      Work and such Derivative Works in Source or Object form.
422
+
423
+   3. Grant of Patent License. Subject to the terms and conditions of
424
+      this License, each Contributor hereby grants to You a perpetual,
425
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
426
+      (except as stated in this section) patent license to make, have made,
427
+      use, offer to sell, sell, import, and otherwise transfer the Work,
428
+      where such license applies only to those patent claims licensable
429
+      by such Contributor that are necessarily infringed by their
430
+      Contribution(s) alone or by combination of their Contribution(s)
431
+      with the Work to which such Contribution(s) was submitted. If You
432
+      institute patent litigation against any entity (including a
433
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
434
+      or a Contribution incorporated within the Work constitutes direct
435
+      or contributory patent infringement, then any patent licenses
436
+      granted to You under this License for that Work shall terminate
437
+      as of the date such litigation is filed.
438
+
439
+   4. Redistribution. You may reproduce and distribute copies of the
440
+      Work or Derivative Works thereof in any medium, with or without
441
+      modifications, and in Source or Object form, provided that You
442
+      meet the following conditions:
443
+
444
+      (a) You must give any other recipients of the Work or
445
+          Derivative Works a copy of this License; and
446
+
447
+      (b) You must cause any modified files to carry prominent notices
448
+          stating that You changed the files; and
449
+
450
+      (c) You must retain, in the Source form of any Derivative Works
451
+          that You distribute, all copyright, patent, trademark, and
452
+          attribution notices from the Source form of the Work,
453
+          excluding those notices that do not pertain to any part of
454
+          the Derivative Works; and
455
+
456
+      (d) If the Work includes a "NOTICE" text file as part of its
457
+          distribution, then any Derivative Works that You distribute must
458
+          include a readable copy of the attribution notices contained
459
+          within such NOTICE file, excluding those notices that do not
460
+          pertain to any part of the Derivative Works, in at least one
461
+          of the following places: within a NOTICE text file distributed
462
+          as part of the Derivative Works; within the Source form or
463
+          documentation, if provided along with the Derivative Works; or,
464
+          within a display generated by the Derivative Works, if and
465
+          wherever such third-party notices normally appear. The contents
466
+          of the NOTICE file are for informational purposes only and
467
+          do not modify the License. You may add Your own attribution
468
+          notices within Derivative Works that You distribute, alongside
469
+          or as an addendum to the NOTICE text from the Work, provided
470
+          that such additional attribution notices cannot be construed
471
+          as modifying the License.
472
+
473
+      You may add Your own copyright statement to Your modifications and
474
+      may provide additional or different license terms and conditions
475
+      for use, reproduction, or distribution of Your modifications, or
476
+      for any such Derivative Works as a whole, provided Your use,
477
+      reproduction, and distribution of the Work otherwise complies with
478
+      the conditions stated in this License.
479
+
480
+   5. Submission of Contributions. Unless You explicitly state otherwise,
481
+      any Contribution intentionally submitted for inclusion in the Work
482
+      by You to the Licensor shall be under the terms and conditions of
483
+      this License, without any additional terms or conditions.
484
+      Notwithstanding the above, nothing herein shall supersede or modify
485
+      the terms of any separate license agreement you may have executed
486
+      with Licensor regarding such Contributions.
487
+
488
+   6. Trademarks. This License does not grant permission to use the trade
489
+      names, trademarks, service marks, or product names of the Licensor,
490
+      except as required for reasonable and customary use in describing the
491
+      origin of the Work and reproducing the content of the NOTICE file.
492
+
493
+   7. Disclaimer of Warranty. Unless required by applicable law or
494
+      agreed to in writing, Licensor provides the Work (and each
495
+      Contributor provides its Contributions) on an "AS IS" BASIS,
496
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
497
+      implied, including, without limitation, any warranties or conditions
498
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
499
+      PARTICULAR PURPOSE. You are solely responsible for determining the
500
+      appropriateness of using or redistributing the Work and assume any
501
+      risks associated with Your exercise of permissions under this License.
502
+
503
+   8. Limitation of Liability. In no event and under no legal theory,
504
+      whether in tort (including negligence), contract, or otherwise,
505
+      unless required by applicable law (such as deliberate and grossly
506
+      negligent acts) or agreed to in writing, shall any Contributor be
507
+      liable to You for damages, including any direct, indirect, special,
508
+      incidental, or consequential damages of any character arising as a
509
+      result of this License or out of the use or inability to use the
510
+      Work (including but not limited to damages for loss of goodwill,
511
+      work stoppage, computer failure or malfunction, or any and all
512
+      other commercial damages or losses), even if such Contributor
513
+      has been advised of the possibility of such damages.
514
+
515
+   9. Accepting Warranty or Additional Liability. While redistributing
516
+      the Work or Derivative Works thereof, You may choose to offer,
517
+      and charge a fee for, acceptance of support, warranty, indemnity,
518
+      or other liability obligations and/or rights consistent with this
519
+      License. However, in accepting such obligations, You may act only
520
+      on Your own behalf and on Your sole responsibility, not on behalf
521
+      of any other Contributor, and only if You agree to indemnify,
522
+      defend, and hold each Contributor harmless for any liability
523
+      incurred by, or claims asserted against, such Contributor by reason
524
+      of your accepting any such warranty or additional liability.
525
+
526
+   END OF TERMS AND CONDITIONS
527
+
528
+   APPENDIX: How to apply the Apache License to your work.
529
+
530
+      To apply the Apache License to your work, attach the following
531
+      boilerplate notice, with the fields enclosed by brackets "[]"
532
+      replaced with your own identifying information. (Don't include
533
+      the brackets!)  The text should be enclosed in the appropriate
534
+      comment syntax for the file format. We also recommend that a
535
+      file or class name and description of purpose be included on the
536
+      same "printed page" as the copyright notice for easier
537
+      identification within third-party archives.
538
+
539
+   Copyright [yyyy] [name of copyright owner]
540
+
541
+   Licensed under the Apache License, Version 2.0 (the "License");
542
+   you may not use this file except in compliance with the License.
543
+   You may obtain a copy of the License at
544
+
545
+       http://www.apache.org/licenses/LICENSE-2.0
546
+
547
+   Unless required by applicable law or agreed to in writing, software
548
+   distributed under the License is distributed on an "AS IS" BASIS,
549
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
550
+   See the License for the specific language governing permissions and
551
+   limitations under the License.
552
+

+ 34
- 0
README.txt View File

@@ -0,0 +1,34 @@
1
+
2
+    jBot 1.9.6
3
+    ==========
4
+
5
+    Author  : Bernhard Fröhlich <decke@bluelife.at>
6
+    Homepage: http://www.bluelife.at/
7
+    License : GNU General Public License Version 2
8
+
9
+    INTALL
10
+    ======
11
+    
12
+    Installationsanleitung: http://www.bluelife.at/wiki/jBot:UserManual
13
+
14
+	Eine detaillierte und ständig aktualisierte Installationsanleitung sowie eine
15
+	grundlegende Dokumentation finden sie auf http://www.bluelife.at/wiki/ . Dort
16
+	gibt es außerdem diverse Anleitungen wie man den Bot an andere Chats anpassen
17
+	oder neue Plugins schreiben kann.
18
+	
19
+
20
+    LICENSES
21
+    =========
22
+
23
+    This Programm uses HSQLDB under the Terms of his license.
24
+    http://hsqldb.sourceforge.net/web/hsqlLicense.html
25
+    http://hsqldb.sourceforge.net/
26
+
27
+    This Programm uses Jakarta Regexp under the terms of the Apache License Version 2
28
+    http://jakarta.apache.org/regexp/
29
+    
30
+    This Programm uses Apache ANT under the terms of the Apache License Version 2
31
+    http://ant.apache.org/
32
+
33
+
34
+    Copyright (c) 2005 - 2007  Bernhard Fröhlich <decke@bluelife.at>

BIN
build/ant-launcher.jar View File


BIN
build/ant-nodeps.jar View File


BIN
build/ant.jar View File


+ 50
- 0
build/build.bat View File

@@ -0,0 +1,50 @@
1
+@echo off
2
+
3
+set TARGET=%1%
4
+
5
+REM
6
+REM set JAVA_HOME=c:\programme\java\jdk1.5.0_04
7
+REM
8
+
9
+REM --------------------------------------------
10
+REM No need to edit anything below here
11
+REM --------------------------------------------
12
+
13
+set BUILDFILE=build.xml
14
+if "%TARGET%" == "" goto setdist
15
+goto cont1
16
+
17
+:cont1
18
+if not "%2%" == "" goto setapp
19
+goto final
20
+
21
+:setdist
22
+set TARGET=usage
23
+goto cont1
24
+
25
+:setapp
26
+set APPNAME=-Dapplication=%2%
27
+goto final
28
+
29
+:final
30
+if "%JAVA_HOME%" == "" goto javahomeerror
31
+set CP=%CLASSPATH%;ant.jar;ant-launcher.jar;ant-nodeps.jar
32
+if exist %JAVA_HOME%\lib\tools.jar set CP=%CP%;%JAVA_HOME%\lib\tools.jar
33
+
34
+echo Classpath: %CP%
35
+echo JAVA_HOME: %JAVA_HOME%
36
+
37
+%JAVA_HOME%/bin/java.exe -classpath "%CP%" %APPNAME% org.apache.tools.ant.Main -buildfile %BUILDFILE% %TARGET%
38
+
39
+goto end
40
+
41
+
42
+REM -----------ERROR-------------
43
+:javahomeerror
44
+echo
45
+echo ERROR: JAVA_HOME not found in your environment. Please,
46
+echo set the JAVA_HOME variable in your environment to match the
47
+echo location of the Java Virtual Machine you want to use.
48
+
49
+:end
50
+

+ 34
- 0
build/build.sh View File

@@ -0,0 +1,34 @@
1
+#!/bin/sh
2
+#
3
+# Ant-wrapper
4
+
5
+# Force a JAVA_HOME path; if you have set JAVA_HOME you won't need it
6
+# FORCE_JAVA_HOME=
7
+
8
+if [ ! -z "${FORCE_JAVA_HOME}" ] ; then
9
+    JAVA_BINARY="${FORCE_JAVA_HOME}/bin/java"
10
+elif [ ! -z "${JAVA_HOME}" ] ; then
11
+    JAVA_BINARY="${JAVA_HOME}/bin/java"
12
+elif [ -x `which java` ] ; then
13
+    JAVA_BINARY=`which java`
14
+    JAVA_BINARY=`realpath "${JAVA_BINARY}"`
15
+else
16
+    echo "Java not found. Maybe JAVA_HOME is not set correctly?"
17
+    echo "You can alternately set FORCE_JAVA_HOME in blueclient.sh"
18
+    exit 1
19
+fi
20
+
21
+# try to find tools.jar
22
+TOOLS_JAR=`realpath ${JAVA_BINARY%/*}/../lib/tools.jar`
23
+
24
+if [ ! -f "${TOOLS_JAR}" ] ; then
25
+    echo "Cannot find tools.jar. Please set JAVA_HOME correctly!"
26
+    exit 1
27
+fi
28
+
29
+# setting environment
30
+export CLASSPATH=${CLASSPATH}:ant.jar:ant-launcher.jar:ant-nodeps.jar
31
+export CLASSPATH=${CLASSPATH}:${TOOLS_JAR}
32
+export BUILDFILE=./build.xml
33
+
34
+${JAVA_BINARY} -cp $CLASSPATH org.apache.tools.ant.Main -buildfile ${BUILDFILE} $1

+ 262
- 0
build/build.xml View File

@@ -0,0 +1,262 @@
1
+<?xml version="1.0"?>
2
+
3
+<project name="jBot" default="usage" basedir=".">
4
+	<!-- $Id: build.xml 100 2008-11-23 16:25:37Z decke $ -->
5
+
6
+    <!-- =================================================================== -->
7
+    <!-- Initializes some variables                                          -->
8
+    <!-- =================================================================== -->
9
+    <tstamp/>
10
+    <property name="project" value="jbot" />
11
+    <property name="version" value="1.9.6" />
12
+	<property name="version.date" value="${DSTAMP}${TSTAMP}" />
13
+    <property name="home.dir" value=".."/>
14
+    
15
+    <!-- build -->   
16
+    <property name="build.dir" value="${home.dir}/build"/>
17
+    <property name="build.src" value="${home.dir}/src"/>
18
+    <property name="build.lib" value="${home.dir}/lib"/>
19
+    <property name="build.classes" value="${home.dir}/classes"/>
20
+	<property name="build.compile" value="${home.dir}/compile"/>
21
+	
22
+    <property name="build.work" value="${build.dir}/work"/> 
23
+    <property name="build.dist" value="${build.dir}/dist"/>
24
+    
25
+    <property name="build.jar" value="${project}-${DSTAMP}" />
26
+    
27
+	<!-- compiler configuration -->
28
+    <property name="build.javac.compiler" value="modern"/>
29
+	<property name="build.javac.target" value="1.4"/>
30
+	<property name="build.javac.source" value="1.4"/>
31
+    <property name="build.javac.debug" value="on"/>
32
+    <property name="build.javac.optimize" value="on"/>
33
+    <property name="build.javac.deprecation" value="off"/>
34
+
35
+    <!-- a few more defines -->
36
+    <property name="dist.filename" value="${project}_${version}" />
37
+	<property name="botkernel" value="at/bluelife/jbot/BotKernel" />
38
+	<property name="botkernel.src" value="${botkernel}.java" />
39
+	<property name="botkernel.class" value="${botkernel}.class" />
40
+		
41
+    <!-- classpath -->
42
+    <path id="build.class.path">
43
+        <fileset dir="${home.dir}/lib">
44
+            <exclude name="**/jbot*.jar" />
45
+            <include name="**/*.jar" />
46
+        </fileset>
47
+    	<fileset dir="${build.classes}" />
48
+    </path>   
49
+
50
+    <!-- a few lines to show what we are doing -->   
51
+    <echo>Building ${project} Version: ${version}</echo>
52
+        
53
+
54
+
55
+    <!-- =================================================================== -->
56
+    <!-- Help on usage                                                       -->
57
+    <!-- =================================================================== -->
58
+    <target name="help" depends="usage" />
59
+    <target name="usage">
60
+        <echo message=""/>
61
+        <echo message=""/>
62
+        <echo message="jBot build instructions"/>
63
+        <echo message="-------------------------------------------------------------"/>
64
+        <echo message=""/>
65
+        <echo message=" available targets are:"/>
66
+        <echo message=""/>
67
+        <echo message=" compile    --> compiles the source code to ./classes"/>
68
+        <echo message=" jar        --> generates the ./lib/jbot-YYYYMMDD.jar file"/>
69
+    	<echo message=" clean      --> cleanup the compile and working directories" />
70
+        <echo message=""/>
71
+        <echo message=""/>
72
+        <echo message=" package    --> generates the distribution (zip and tar.gz)"/>
73
+        <echo message=""/>
74
+        <echo message=" usage      --> provides help on using the build tool (default)"/>
75
+        <echo message=""/>
76
+        <echo message=" debug      --> generate a useable debug build"/>   
77
+        <echo message=""/>   
78
+        <echo message=" See comments inside the build.xml file for more details."/>
79
+        <echo message="-------------------------------------------------------------"/>
80
+        <echo message="$Id: build.xml 100 2008-11-23 16:25:37Z decke $"/>
81
+        <echo message=""/>
82
+    </target>
83
+ 
84
+	
85
+    <!-- =================================================================== -->
86
+    <!-- cleanup                                                             -->
87
+    <!-- =================================================================== -->
88
+    <target name="clean-build">   
89
+        <delete dir="${build.work}" />
90
+    </target>
91
+        
92
+    <target name="clean" depends="clean-build">
93
+        <delete dir="${build.classes}" />
94
+    	<delete dir="${build.compile}" />
95
+    </target>
96
+
97
+    <!-- =================================================================== -->
98
+    <!-- Compiles the src directory                                          -->
99
+    <!-- =================================================================== -->
100
+    <target name="compile" depends="clean">
101
+        <mkdir dir="${build.classes}"/>
102
+    	<mkdir dir="${build.compile}" />
103
+    	
104
+    	<copy todir="${build.compile}">
105
+    		<fileset dir="${build.src}" />
106
+    	</copy>
107
+    	
108
+    	<replace file="${build.compile}/${botkernel.src}" token="@buildDate@" value="${DSTAMP}${TSTAMP}"/>
109
+    	
110
+        <javac srcdir="${build.compile}"
111
+            destdir="${build.classes}"
112
+            debug="${build.javac.debug}"
113
+        	target="${build.javac.target}"
114
+        	source="${build.javac.source}"
115
+            deprecation="${build.javac.deprecation}"
116
+            optimize="${build.javac.optimize}">
117
+            <classpath refid="build.class.path" />
118
+        </javac>
119
+    	    	
120
+        <copy todir="${build.classes}">
121
+            <fileset dir="${build.src}">
122
+            	<exclude name="**/*.java" />
123
+            </fileset>
124
+        </copy>
125
+    	
126
+    	<delete dir="${build.compile}"/>
127
+    </target>
128
+
129
+
130
+    <!-- =================================================================== -->
131
+    <!-- Creates a jar file (snapshot) in the lib-directory                  -->
132
+    <!-- =================================================================== -->
133
+    <target name="jar" depends="compile">
134
+    	<delete file="${build.lib}/${build.jar}.jar" />
135
+    	
136
+        <mkdir dir="${build.lib}" />
137
+        <jar jarfile="${build.lib}/${build.jar}.jar">
138
+        	<fileset dir="${build.classes}">
139
+				<exclude name="**/chats/**" />
140
+				<exclude name="**/output/plugins/**" />
141
+			</fileset>
142
+			<fileset dir="${build.classes}">
143
+				<include name="**/chats/AbstractChat.class" />
144
+                <include name="**/chats/IChat.class" />
145
+			</fileset>
146
+			<fileset dir="${build.classes}">
147
+				<include name="**/output/plugins/TestPlugin.class" />
148
+			</fileset>
149
+        </jar>
150
+    </target>
151
+
152
+	
153
+    <!-- =================================================================== -->
154
+    <!-- Populates the work directory with a debug build                     -->
155
+    <!-- =================================================================== -->
156
+    <target name="debug" depends="package-raw" description="for debugging purposes">
157
+        <delete dir="${build.work}/src" />
158
+        <delete dir="${build.work}/build" />       
159
+    </target>   
160
+
161
+    <!-- =================================================================== -->
162
+    <!-- Creates the jBot distribution                                       -->
163
+    <!-- =================================================================== -->
164
+    <target name="package" depends="package-raw" description="build the .zip and .tar.gz packages">
165
+        <!-- zip up the whole thing -->
166
+        <mkdir dir="${build.dist}" />
167
+    	
168
+        <!-- fix line endings (windows) -->
169
+    	<fixcrlf srcdir="${build.work}" eol="crlf" includes="**/*.bat, **/*.conf*, **/*.txt, **/*.tpl" />
170
+    	<fixcrlf srcdir="${build.work}" eol="crlf" includes="**/*.properties, **/*.java, **/*.xml, " />
171
+        
172
+        <zip zipfile="${build.dist}/${dist.filename}.zip">
173
+            <zipfileset dir="${build.work}" prefix="${project}" includes="**" />
174
+        </zip>
175
+
176
+        <!-- fix line endings (unix) -->
177
+    	<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.sh, **/*.conf*, **/*.txt, **/*.tpl" />
178
+    	<fixcrlf srcdir="${build.work}" eol="lf" eof="remove" includes="**/*.properties, **/*.java, **/*.xml" />
179
+        
180
+    	<!-- tar it up for unix users -->
181
+        <tar tarfile="${build.dist}/${dist.filename}.tar" basedir="${build.work}" excludes="**">
182
+            <tarfileset prefix="${project}" dir="${build.work}" mode="755">
183
+                <include name="jbot.sh"/>
184
+            	<include name="build/build.sh"/>
185
+            </tarfileset>
186
+            <tarfileset prefix="${project}" dir="${build.work}">
187
+                <include name="**"/>
188
+                <exclude name="jbot.sh"/>
189
+            	<exclude name="build/build.sh"/>
190
+            </tarfileset>
191
+        </tar>
192
+        <gzip zipfile="${build.dist}/${dist.filename}.tar.gz" src="${build.dist}/${dist.filename}.tar"/>
193
+        <delete file="${build.dist}/${dist.filename}.tar"/>
194
+
195
+        <!-- clean up -->
196
+        <delete dir="${build.work}"/>
197
+    </target>
198
+
199
+
200
+    <!-- =================================================================== -->
201
+    <!-- Creates the jBot distribution                                       -->
202
+    <!-- =================================================================== -->
203
+    <target name="package-raw" depends="compile, jar">
204
+
205
+   		<!-- create the directories -->
206
+   		<mkdir dir="${build.work}" />
207
+        <mkdir dir="${build.work}/chats" />
208
+        <mkdir dir="${build.work}/plugins" />
209
+   	
210
+        <!-- copy the base -->
211
+        <copy todir="${build.work}">
212
+            <fileset dir="${home.dir}">
213
+                <exclude name="**/CVS/**" />
214
+                <exclude name="build/work/**" />
215
+                <exclude name="build/dist/**" />   
216
+            	  
217
+                <include name="build/**" />
218
+                <include name="db/**" />   
219
+                <include name="src/**" />
220
+            	<include name="jbot.conf**" />
221
+                <include name="LICENSE.txt" />
222
+                <include name="README.txt" />
223
+            	<include name=".project" />
224
+        	    <include name=".classpath" />
225
+            	
226
+                <include name="jbot.bat" />
227
+                <include name="jbot.sh" />
228
+            </fileset>
229
+        </copy>
230
+     
231
+        <!-- copy the chat libs -->
232
+        <copy todir="${build.work}/chats">
233
+            <fileset dir="${build.classes}/at/bluelife/jbot/chats">  
234
+                <exclude name="AbstractChat.class" />
235
+                <exclude name="IChat.class" />   
236
+                <include name="**" />
237
+            </fileset>    
238
+        </copy>   
239
+    
240
+        <!-- copy the plugins -->
241
+        <copy todir="${build.work}/plugins">
242
+            <fileset dir="${build.classes}/at/bluelife/jbot/output/plugins">
243
+                <include name="**" />
244
+            </fileset>    
245
+        </copy>
246
+
247
+        <!-- copy all libraries -->
248
+        <copy todir="${build.work}/lib">
249
+            <fileset dir="${home.dir}/lib">
250
+                <exclude name="jbot*.jar" />
251
+                <include name="*.jar" />
252
+            </fileset>
253
+        </copy>
254
+
255
+        <!-- rename the current jar-file -->
256
+        <copy file="${build.lib}/${build.jar}.jar" tofile="${build.work}/lib/jbot.jar"/>
257
+    	
258
+    	<chmod file="${build.work}/jbot.sh" perm="755"/>
259
+    	<chmod file="${build.work}/build/build.sh" perm="755"/>
260
+    </target>
261
+
262
+</project>

BIN
chats/N2/AbstractNEngine2.class View File


BIN
chats/N2/club3k/Club3k.class View File


+ 71
- 0
chats/N2/club3k/messages.tpl View File

@@ -0,0 +1,71 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>     */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 31 2008-01-04 21:59:17Z decke $
20
+#
21
+# Chat: NEngine 2, club3k.at
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+
32
+standard.AwayMessage = <font><b><i>USERNAME meldet sich kurz ab (MESSAGE)</i></b></font><br>
33
+standard.BackMessage = <font><b><i>USERNAME meldet sich zurück (MESSAGE)</i></b></font><br>
34
+standard.ColorChangeMessage = <font><b><i>USERNAME hat die Farbe gewechselt.</i></b></font><br>
35
+standard.InvitedFromMessage = <i><b><font>USERNAME</font> hat dich in den Raum 'MESSAGE' eingeladen.</b><br>Mit /a kannst du die Einladung annehmen!</i><br>
36
+standard.MeMessage = <font><b><i> > USERNAME MESSAGE</i></b></font><br>
37
+standard.PublicMessage = <font>(<a><font><u>USERNAME</u></font></a>) MESSAGE</font><br>
38
+standard.QuestionMessage = <font><b><i> Frage von <u>USERNAME</u>: MESSAGE</i></b></font><br>
39
+standard.ShoutMessage = <font><b><i>USERNAME schreit: MESSAGE</i></b></font><br>
40
+standard.ThinkMessage = <font><b><i>USERNAME . o O( MESSAGE )</i></b></font><br>
41
+standard.WhisperFromMessage = <b><i><a><font><u>USERNAME</u></font></a> flüstert: MESSAGE</i></b><br>
42
+standard.WhisperToMessage = <b><i>Du flüsterst zu <a><font><u>USERNAME</u></font></a>: MESSAGE</i></b><br>
43
+
44
+room.EnterChatMessage = <i><b><a><font><u>USERNAME</u></font></a></b> betritt den Chat.</i><br>
45
+room.EnterRoomMessage = <i><a><font><b><u>USERNAME</u></b></font></a> kommt aus dem Raum <b>MESSAGE</b> herein.</i><br>
46
+room.EnterRoomMessage = <b><i><font>USERNAME</font> landet im Exil.</i></b><br>
47
+room.LeaveChatMessage = <i><b><a><font><u>USERNAME</u></font></a></b> verlässt den Chat.</i><br>
48
+room.LeaveRoomMessage = <i><a><font><b><u>USERNAME</u></b></font></a> geht in den Raum <b>MESSAGE</b>.</i><br>
49
+room.LeaveRoomMessage = <i><a><font><b><u>USERNAME</u></b></font></a> geht in den Raum <b>MESSAGE</b>.</i> <font>[kc by PRIVILEGEDUSER]</font><br>
50
+room.LeaveRoomToSepareMessage = <i><a><font><b><u>USERNAME</u></b></font></a> geht in den Raum <b>MESSAGE</b> und sperrt ab.</i><br>
51
+room.RoomTopicMessage = <b><i><font>USERNAME</font> hat folgendes Thema vergeben:  MESSAGE</i></b><br>
52
+
53
+staff.ForceColorChangeMessage = <font><i>Ein VIP(PRIVILEGEDUSER) hat USERNAME eine neue Farbe zugewiesen!</i></font><br>
54
+staff.GagMessage = <b><i><font>PRIVILEGEDUSER</font> knebelt <font>USERNAME</font>.</i></b><br>
55
+staff.GagMessage = <i><b><font>PRIVILEGEDUSER</font> knebelt <font>USERNAME</font>.</b> (und meint: COMMENT)</i><br>
56
+staff.KickHardMessage = <b><i><font>PRIVILEGEDUSER</font> wirft <font>USERNAME</font> aus dem Chat!</i></b><br>
57
+staff.KickMessage = <b><i><font>PRIVILEGEDUSER</font> wirft <font>USERNAME</font> aus dem Raum!</i></b><br>
58
+staff.RemoveSuMessage = <b><i><font>PRIVILEGEDUSER</font> entzieht <font>USERNAME</font> die Superuser-Rechte!</i></b><br>
59
+staff.StaffWhisperFromMessage = <b><i><font>USERNAME</font> flüstert an die VIPs: MESSAGE</i></b><br>
60
+staff.SuMessage = <b><i><font>PRIVILEGEDUSER</font> verleiht <font>USERNAME</font> Superuser-Rechte!</i></b><br>
61
+staff.UnGagMessage = <b><i><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> vom Knebel.</i></b><br>
62
+staff.UnGagMessage = <i><b><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> vom Knebel.</b> (und meint: COMMENT)</i><br>
63
+
64
+system.DateMessage = <b><i>Date: MESSAGE</i></b><br>
65
+system.MyIPMessage = <b><i>Deine IP-Adresse lautet: IPADDRESS</i></b><br>
66
+
67
+error.NoSuRightsMessage = <b><i>Sorry, aber du bist kein SUPERUSER!</i></b><br>
68
+error.NotOnlineMessage = <b><i>USERNAME ist nicht im Chat, du hast ihr/ihm eine NBox Nachricht hinterlassen!</i></b><br>
69
+error.NoVipRightsMessage = <b><i>Sorry, aber du bist kein VIP!</i></b><br>
70
+error.UnknownCommandMessage = <b><i>Dies ist kein gültiger <a><u>Chatbefehl</u></a>!</b></i><br>
71
+error.UnknownUserMessage = <b><i>USERNAME ist weder im Chat noch registriert!</i></b><br>

BIN
chats/cellchat/AbstractCellChat.class View File


BIN
chats/cellchat/localhost/Localhost.class View File


+ 64
- 0
chats/cellchat/localhost/messages.tpl View File

@@ -0,0 +1,64 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>     */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 31 2008-01-04 21:59:17Z decke $
20
+#
21
+# Chat: [[²engine 2.0
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+DATE = ([0-9A-Z:.]*)
32
+
33
+standard.AwayMessage = <i> <b> <font> USERNAME meldet sich kurz ab (MESSAGE) </font> </b> </i><br>
34
+standard.BackMessage = <i> <b> <font> USERNAME meldet sich zurück (MESSAGE) </font> </b> </i><br>
35
+standard.ColorChangeMessage = <i> <b> <font> USERNAME hat die Farbe gewechselt. </font> </b> </i><br>
36
+standard.InvitedFromMessage = <i> TIME <b> Du wurdest von <font>USERNAME</font> in den Raum 'MESSAGE'eingeladen.<br>Um die Einladung anzunehmen musst Du /a eintippen. </b> </i><br>
37
+standard.MeMessage = <i> <b> <font>> USERNAME MESSAGE </font> </b> </i><br>
38
+standard.PublicMessage = <font>(USERNAME) MESSAGE </font><br>
39
+standard.ShoutMessage = <i> <b> <font> USERNAME schreit: MESSAGE </font> </b> </i> <br>
40
+standard.WhisperFromMessage = <i> TIME <b> <font>USERNAME</font> flüstert: MESSAGE </b> </i><br>
41
+standard.WhisperToMessage = <i> TIME <b> Flüster zu  <font>USERNAME</font>: MESSAGE  </b> </i><br>
42
+
43
+room.EnterChatMessage = <i> TIME <font> USERNAME </font> betritt den Chat. </i><br>
44
+room.EnterRoomMessage = <i> TIME <b> <font> USERNAME </font> kommt aus dem Raum 'MESSAGE' herein. </b> </i><br>
45
+room.LeaveChatMessage = <i> TIME <font> USERNAME </font> verlaesst den Chat. </i><br>
46
+room.LeaveRoomMessage = <i> TIME <b> <font> USERNAME </font> geht in einen anderen Raum 'MESSAGE'. </b> </i><br>
47
+room.LeaveRoomToSepareMessage = <i> TIME <b> <font> USERNAME </font> geht in einen anderen Raum 'MESSAGE' und sperrt ab. </b> </i><br>
48
+room.RoomTopicMessage = <i> TIME <b> <font> USERNAME </font> hat ein neues Thema 'MESSAGE' für den Raum 'COMMENT' vergeben. </b> </i><br>
49
+
50
+#staff.ForceColorChangeMessage = 
51
+staff.GagMessage = <i> TIME <b> <font> PRIVILEGEDUSER </font> knebelt <font>USERNAME</font>.</b> </i><br>
52
+#staff.KickHardMessage = 
53
+staff.KickMessage = <i> TIME <b> <font> PRIVILEGEDUSER </font> wirft '<font>USERNAME</font>' in den Raum 'COMMENT'. </b> </i><br>
54
+#staff.RemoveSuMessage = 
55
+#staff.StaffWhisperFromMessage = 
56
+staff.SuMessage = <i> TIME <b> <font> PRIVILEGEDUSER </font> ernennt <font>USERNAME</font> zum SuperUser. </b> </i><br>
57
+staff.UnGagMessage = <i> TIME <b> <font> PRIVILEGEDUSER </font> befreit <font>USERNAME</font> vom Knebel.  </b> </i><br>
58
+
59
+system.DateMessage = <i> <b> Heute ist DATE und es ist jetzt TIME Uhr </b> </i> <br>
60
+system.MyIPMessage = <b> Deine IP-Adresse lautet: IPADDRESS </b><br>
61
+
62
+error.NoSuRightsMessage = <i> <b> Sorry, aber Du bist kein SuperUser ! </b>  </i><br>
63
+error.NotOnlineMessage = <i> <b> Dieser User befindet sich nicht im Chat ! </b> </i><br>
64
+error.NoVipRightsMessage = <i> <b> Sorry, aber Du bist kein VIP ! </b>  </i><br>

BIN
chats/cvc/AbstractCVC.class View File


BIN
chats/cvc/localhost/Localhost.class View File


+ 62
- 0
chats/cvc/localhost/messages.tpl View File

@@ -0,0 +1,62 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>     */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 31 2008-01-04 21:59:17Z decke $
20
+#
21
+# Chat: CVC-System 1.9.2 -- ChatVirus.com
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+USERNAME = ([A-za-z0-9/<>\(\)]*)
32
+MESSAGE = (.*)
33
+PRIVILEGEDUSER = ([A-za-z0-9/<>\(\)]*)
34
+
35
+
36
+standard.AwayMessage = <i>TIME</i> <i><font> USERNAME</font> meldet sich ab [MESSAGE]</i><br>
37
+standard.BackMessage = <i>TIME</i> <i><font> USERNAME</font> meldet sich zurück [MESSAGE]</i>
38
+standard.InvitedFromMessage = <i><font> <b>USERNAME</b></font> hat dich eingeladen in den Raum <b>MESSAGE</b> zu kommen!</i><br>Mit /a kannst du die Einladung annehmen<br>
39
+standard.MeMessage = <b><font>USERNAME</font> MESSAGE</b><br>
40
+standard.PublicMessage = <font>USERNAME:</font> <font>MESSAGE</font><br>
41
+standard.ShoutMessage = <i><b><font>USERNAME</font> schreit: MESSAGE</b></i><br>
42
+standard.WhisperFromMessage = <i><font>USERNAME</font> flüstert: MESSAGE</i><br>
43
+standard.WhisperToMessage = <i>Flüstern zu <font>USERNAME</font>: MESSAGE</i><br>
44
+
45
+room.EnterChatMessage = <i>TIME</i> <i><font>USERNAME</font> betritt den <script>document.write(chatname);</script></i><br>
46
+room.EnterRoomMessage = <i>TIME</i> <i><font>USERNAME</font> kommt aus dem Raum <b>MESSAGE</b> herein</i><br>
47
+room.LeaveChatMessage = <i>TIME</i> <i><font>USERNAME</font> verlässt den <script>document.write(chatname);</script></i><br>
48
+room.LeaveRoomMessage = <i>TIME</i> <i><font>USERNAME</font> geht in einen anderen Raum: <b>MESSAGE</b></i><br>
49
+room.LeaveRoomToSepareMessage = <i>TIME</i> <i><font>USERNAME</font> geht in den Raum <b>MESSAGE</b> und sperrt zu</i><br>
50
+room.RoomTopicMessage = <i>TIME</i> <i><font>USERNAME</font> setzt das Raumthema auf: <b>MESSAGE</b></i><br>
51
+
52
+staff.GagMessage = <i>TIME</i> <i><font>USERNAME</font> ist von <font> PRIVILEGEDUSER</font> geknebelt worden</i><br>
53
+staff.KickHardMessage = <i>TIME</i> <i><font>PRIVILEGEDUSER</font> wirft <font>USERNAME</font> aus dem Chat</i><br>
54
+staff.KickMessage = <i>TIME</i> <i><font>PRIVILEGEDUSER</font> wirft <font>USERNAME</font> in den Raum <b></b></i><br>
55
+staff.RemoveSuMessage = <i>TIME</i> <i><font>PRIVILEGEDUSER</font> hat <font>USERNAME</font> die SuperUserRechte entzogen</i><br>
56
+staff.SuMessage = <i>TIME</i> <i><font>USERNAME</font> hat von <font>PRIVILEGEDUSER</font> SuperUserRechte verliehen bekommen</i><br>
57
+staff.UnGagMessage = <i>TIME</i> <i><font>USERNAME</font> ist von <font> PRIVILEGEDUSER</font> entknebelt worden</i><br>
58
+
59
+system.MyIPMessage = <i>Deine IP ist <b>IPADDRESS</b></i><br>
60
+
61
+error.IgnoreMessage = <script>refreshuser();</script>
62
+error.NoSuRightsMessage = <i>SYSTEM: </i>Du bist nicht berechtigt diesen Befehl zu benutzen<br>

BIN
chats/fcc/AbstractFCC.class View File


BIN
chats/fcc/localhost/Localhost.class View File


+ 72
- 0
chats/fcc/localhost/messages.tpl View File

@@ -0,0 +1,72 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>     */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 31 2008-01-04 21:59:17Z decke $
20
+#
21
+# Chat: FCC v1.0 Engine
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+USERNAME = ([A-za-z0-9/<>\(\)]*)
32
+MESSAGE = (.*)
33
+PRIVILEGEDUSER = ([A-za-z0-9/<>\(\)]*)
34
+
35
+
36
+standard.AwayMessage = <i><b><font> USERNAME</font> meldet sich kurz ab (MESSAGE)</b></i><br>
37
+standard.BackMessage = <i><b><font> USERNAME</font> meldet sich zurück (MESSAGE)</b></i><br>
38
+standard.ColorChangeMessage = <i><b><font>USERNAME hat die Farbe gewechselt.</font></b></i><br>
39
+#standard.InvitedFromMessage = 
40
+standard.MeMessage = <b><i><font>>USERNAME MESSAGE</font></i></b><br>
41
+standard.PublicMessage = <font>(USERNAME) MESSAGE</font><br>
42
+#standard.QuestionMessage = 
43
+standard.ShoutMessage = <i><b><font>USERNAME schreit: MESSAGE</font></b></i><br>
44
+standard.ThinkMessage = <i><b><font>USERNAME . o O (MESSAGE)</font></b></i><br>
45
+standard.WhisperFromMessage = <i><b><font>USERNAME</font> flüstert: MESSAGE</b></i><br>
46
+standard.WhisperToMessage = <i><b>Du flüsterst zu <font>USERNAME</font>: MESSAGE</b></i><br>
47
+
48
+room.EnterChatMessage = <i><b><font>USERNAME</font> betritt den Chat.</i></b><br>
49
+room.EnterRoomMessage = <i><b><font>USERNAME</font> kommt aus dem Raum MESSAGE herein</b></i><br>
50
+room.LeaveChatMessage = <font>USERNAME verlässt den Chat.</font> <br>
51
+room.LeaveRoomMessage = <i><b><font>USERNAME</font> geht in einen anderen Raum: MESSAGE</b></i><br>
52
+room.LeaveRoomToSepareMessage = <i><b><font>USERNAME</font> geht in einen anderen Raum: MESSAGE und sperrt ab</b></i><br>
53
+#room.RoomTopicMessage = 
54
+
55
+#staff.ForceColorChangeMessage = 
56
+#staff.GagMessage = 
57
+#staff.KickHardMessage = 
58
+#staff.KickMessage = 
59
+#staff.RemoveSuMessage = 
60
+#staff.StaffWhisperFromMessage =  
61
+#staff.SuMessage = 
62
+#staff.UnGagMessage = 
63
+
64
+#system.DateMessage = 
65
+#system.MyIPMessage = 
66
+
67
+#error.IgnoreMessage = 
68
+#error.NoSuRightsMessage = 
69
+#error.NotOnlineMessage = 
70
+#error.NoVipRightsMessage = 
71
+#error.UnknownCommandMessage = 
72
+#error.UnknownUserMessage = 

BIN
chats/freecs/AbstractFreeCS.class View File


BIN
chats/freecs/localhost/Localhost.class View File


+ 70
- 0
chats/freecs/localhost/messages.tpl View File

@@ -0,0 +1,70 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>     */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 92 2008-11-23 11:23:00Z decke $
20
+#
21
+# Chat: FreeCS 1.2
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+USERNAME = ([A-za-z0-9/<>\(\)]*)
32
+MESSAGE = (.*)
33
+PRIVILEGEDUSER = ([A-za-z0-9/<>\(\)]*)
34
+
35
+
36
+standard.AwayMessage = <a><font>USERNAME</font></a> <i><font>meldet sich kurz ab.</i>  (MESSAGE)</font><br>
37
+standard.BackMessage = <a><font>USERNAME</font></a> <i><font>meldet sich zurück.</i>  (MESSAGE)</font><br>
38
+standard.ColorChangeMessage = <a><font>USERNAME</font></a> <i><font>hat die Farbe gwechselt</font>.</i><br>
39
+standard.InvitedFromMessage = <i>Du bist von <a><font><i>USERNAME</i></font></a> in den Raum 'MESSAGE' eingeladen worden!</i><br><b>Gib <a>/a</a> ein, wenn Du die Einladung annehmen willst.</b><br>
40
+standard.MeMessage = <b><font>> </font></b><a><font>USERNAME</font></a> <b><font>MESSAGE</font></b><br>
41
+standard.PublicMessage = <font>(</font><a><font>USERNAME</font></a><font>)</font> <font>MESSAGE</font><br>
42
+standard.QuestionMessage = <b><font>Frage Nr.TIME von  </b><a><font>USERNAME</font></a><b>: MESSAGE</font></b><br>
43
+standard.ShoutMessage = <a><font>USERNAME</font></a> <font>schreit: MESSAGE</font><br>
44
+standard.ThinkMessage = <a><font>USERNAME</font></a>.oO(MESSAGE)<br>
45
+standard.WhisperFromMessage = <a><font>USERNAME</font></a><i><b> flüstert Dir zu: MESSAGE</i></b><br>
46
+standard.WhisperToMessage = <b><i>Flüster zu </i></b><font>USERNAME</font><b><i>: MESSAGE</i></b><br>
47
+
48
+room.EnterChatMessage = <a><font>USERNAME</font></a> betritt den Chat.<br>
49
+room.EnterRoomMessage = <a><font>USERNAME</font></a> kommt aus dem Raum <b>MESSAGE</b> herein.<br>
50
+room.EnterRoomMessage = <a><font>USERNAME</font></a> wurde in diesen raum verwiesen.<br>
51
+room.LeaveChatMessage = <a><font>USERNAME</font></a> verläßt den Chat.<br>
52
+room.LeaveRoomMessage = <a><font>USERNAME</font></a> geht in den Raum MESSAGE.<br>
53
+room.LeaveRoomMessage = <a><font>PRIVILEGEDUSER</font></a> hat <a><font>USERNAME</font></a> in den Raum (<b>MESSAGE</b>) verwiesen.<br>
54
+room.LeaveRoomToSepareMessage = <a><font>USERNAME</font></a> geht in den Raum (<b>MESSAGE</b>) und sperrt ab.<br>
55
+room.RoomTopicMessage = <a><font><i>USERNAME</i></font></a> hat ein neues Thema vergeben: "MESSAGE".<br>
56
+
57
+staff.ForceColorChangeMessage = <a><font>USERNAME</font></a> <i><font>hat zwangsweise mit Hilfe von PRIVILEGEDUSER die Farbe gewechselt</font></i>.<br>
58
+staff.GagMessage = <a><font>PRIVILEGEDUSER</font></a> hat <a><font>USERNAME</font></a> einen Knebel verpasst.<br>
59
+staff.KickHardMessage = <a><font>PRIVILEGEDUSER</font></a> wirft <a><font>USERNAME</font></a> aus dem Chat!.<br>
60
+staff.KickMessage = <a><font>PRIVILEGEDUSER</font></a> <i>wirft </i><a><font>USERNAME</font></a> <i>aus dem Raum!</i> <br>
61
+staff.RemoveSuMessage = <a><font>PRIVILEGEDUSER</font></a> <b><i>hat </b></i><a><font>USERNAME</font></a> <b><i>die Superuser-Rechte entzogen.</b></i><br>
62
+staff.StaffWhisperFromMessage = <a><font><b>USERNAME</b></font></a> -> VIPS: MESSAGE<br>
63
+staff.SuMessage = <a><font>USERNAME</font></a> <b><i>hat von </i></b><a><font>PRIVILEGEDUSER</font></a> <b><i>Superuser-Rechte verliehen bekommen.</i></b><br>
64
+staff.UnGagMessage = <a><font>PRIVILEGEDUSER</font></a> hat <a><font>USERNAME</font></a> vom Knebel befreit.<br>
65
+
66
+system.DateMessage = aktuelle Uhrzeit: TIME<br>
67
+
68
+error.NoSuRightsMessage = <i>Du bist kein <b>SU</b>,<b>VIP</b> oder <b>Admin</b>.</i><br>
69
+error.NotOnlineMessage = <i><b>USERNAME ist nicht da.</i></b><br>
70
+error.NoVipRightsMessage = <i>Du bist kein <b>VIP</b> oder <b>Admin</b>.</i><br>

+ 67
- 0
chats/messages.default.tpl View File

@@ -0,0 +1,67 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>     */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 12 2007-12-16 14:20:26Z decke $
20
+#
21
+# Chat: 
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+standard.AwayMessage = 
32
+standard.BackMessage = 
33
+standard.ColorChangeMessage = 
34
+standard.InvitedFromMessage = 
35
+standard.MeMessage = 
36
+standard.PublicMessage = 
37
+standard.QuestionMessage = 
38
+standard.ShoutMessage = 
39
+standard.ThinkMessage = 
40
+standard.WhisperFromMessage = 
41
+standard.WhisperToMessage = 
42
+
43
+room.EnterChatMessage = 
44
+room.EnterRoomMessage = 
45
+room.LeaveChatMessage = 
46
+room.LeaveRoomMessage = 
47
+room.LeaveRoomToSepareMessage = 
48
+room.RoomTopicMessage = 
49
+
50
+staff.ForceColorChangeMessage = 
51
+staff.GagMessage = 
52
+staff.KickHardMessage = 
53
+staff.KickMessage = 
54
+staff.RemoveSuMessage = 
55
+staff.StaffWhisperFromMessage = 
56
+staff.SuMessage = 
57
+staff.UnGagMessage = 
58
+
59
+system.DateMessage = 
60
+system.MyIPMessage = 
61
+
62
+error.IgnoreMessage = 
63
+error.NoSuRightsMessage = 
64
+error.NotOnlineMessage = 
65
+error.NoVipRightsMessage = 
66
+error.UnknownCommandMessage = 
67
+error.UnknownUserMessage = 

BIN
chats/slc/AbstractScreamLabsChatEngine.class View File


BIN
chats/slc/localhost/Localhost.class View File


+ 76
- 0
chats/slc/localhost/messages.tpl View File

@@ -0,0 +1,76 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Johannes Hrovat <stifler@chello.at>                         */
5
+#*   Copyright (c) 2008  Johannes Hrovat <stifler@chello.at>               */
6
+#*                                                                         */
7
+#*   This program is free software; you can redistribute it and/or modify  */
8
+#*   it under the terms of the GNU General Public License as published by  */
9
+#*   the Free Software Foundation; either version 2 of the License, or     */
10
+#*   (at your option) any later version.                                   */
11
+#*                                                                         */
12
+#*   This program is distributed in the hope that it will be useful,       */
13
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
14
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
15
+#*   GNU General Public License for more details.                          */
16
+#*                                                                         */
17
+#***************************************************************************/
18
+# $Id: messages.tpl 85 2008-11-16 15:32:43Z decke $
19
+#
20
+# Chat: Scream Labs Chat Engine 2.5
21
+#
22
+# Variables:
23
+#  USERNAME
24
+#  MESSAGE
25
+#  PRIVILEGEDUSER
26
+#  COMMENT
27
+#  TIME
28
+#  IPADDRESS
29
+
30
+DATE = ([0-9A-Z:.]*)
31
+
32
+standard.AwayMessage = <i>TIME <font><b>USERNAME</b></font> meldet sich kurz ab (MESSAGE)</i><br>
33
+standard.BackMessage = <i>TIME <font><b>USERNAME</b></font> meldet sich zurück (MESSAGE)</i><br>
34
+standard.ColorChangeMessage = <i> <b> <font> USERNAME hat die Farbe gewechselt. </font> </b> </i><br>
35
+
36
+standard.InvitedFromMessage = <i><b>Du wurdest von <font>USERNAME</font> in den Raum 'MESSAGE' eingeladen!<br>Mit /a kannst du die Einladung annehmen.</b></i><br>
37
+standard.MeMessage = <font><b><i>> USERNAME MESSAGE</i></b></font><br>
38
+standard.PublicMessage = <font>(USERNAME) MESSAGE</font><br>
39
+standard.QuestionMessage = <font><b><i>Frage Nr. TIME von MESSAGE</i></b></font><br>
40
+standard.ShoutMessage = <b><i> USERNAME schreit: MESSAGE</i></b></font><br>
41
+standard.ThinkMessage = <b><i><font>USERNAME</font> is Watching you</i></b><br>
42
+standard.WhisperFromMessage = <b><i><font>USERNAME</font> flüstert: MESSAGE</i></b><br>
43
+standard.WhisperToMessage = <b><i>Flüster zu <font>USERNAME</font>: MESSAGE</i></b><br>
44
+
45
+room.EnterChatMessage = <i>TIME <font>USERNAME</font> betritt den Chat</i><br>
46
+room.EnterRoomMessage = <i>TIME <font>USERNAME</font> kommt aus dem Raum MESSAGE herein</i><br>
47
+room.LeaveChatMessage = <i>TIME <font>USERNAME</font> verlässt den Chat</i><br>
48
+room.LeaveRoomMessage = <i>TIME <font>USERNAME</font> geht in den Raum MESSAGE</i><br>
49
+room.LeaveRoomToSepareMessage = <i>TIME <font>USERNAME</font> geht in den Raum MESSAGE und sperrt ab.</i><br>
50
+room.RoomTopicMessage = <i>TIME <font>USERNAME</font> änderte das Thema zu 'MESSAGE'</i><br>
51
+room.RoomTopicMessage = <b>* Raumthema:</b> 'MESSAGE'<br>
52
+room.RoomTopicMessage = <i>TIME <font>USERNAME</font> hat das Thema gelöscht</i><br>
53
+
54
+#staff.ForceColorChangeMessage = 
55
+staff.GagMessage = <i><b><font>PRIVILEGEDUSER</font> sorgt bei <font>USERNAME</font> mit einem Korken für Ruhe</b></i><br>
56
+#staff.KickHardMessage = 
57
+staff.KickMessage = <i> TIME <b> <font> PRIVILEGEDUSER </font> wirft '<font>USERNAME</font>' in den Raum 'COMMENT'. </b> </i><br>
58
+#staff.RemoveSuMessage = 
59
+staff.StaffWhisperFromMessage = <font><b>System:</b></font> <b>VIP Nachricht von <font>USERNAME</font>:</b>MESSAGE<br>
60
+staff.StaffWhisperFromMessage = <font><b>System:</b></font> <b>Superuser Nachricht von <font>USERNAME</font>:</b>MESSAGE<br>
61
+staff.StaffWhisperFromMessage = <font><b>System:</b></font> <b>Administrator Nachricht von <font>USERNAME</font>:</b>MESSAGE<br>
62
+staff.StaffWhisperFromMessage = <b>System Nachricht von <font>USERNAME</font>:</b>MESSAGE<br>
63
+staff.StaffWhisperFromMessage = <b>Notification:</b> USERNAME hat soeben Ihr Gästebuch angesehen! <a>>></a><br>
64
+staff.SuMessage = <i> TIME <b> <font> PRIVILEGEDUSER </font> ernennt <font>USERNAME</font> zum SuperUser. </b> </i><br>
65
+staff.UnGagMessage = <i><b><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> wieder von dem Korken</b></i><br>
66
+
67
+system.DateMessage = <i> <b> Heute ist DATE und es ist jetzt TIME Uhr </b> </i> <br>
68
+system.MyIPMessage = <b> Deine IP-Adresse ist: IPADDRESS</b><br>
69
+
70
+error.IgnoreMessage = <i><font>USERNAME</font> ignoriert dich</i><br>
71
+error.IgnoreMessage = <i><font>USERNAME</font> ignoriert dich nicht mehr</i><br>
72
+error.NoSuRightsMessage = <b><i>USERNAME hat schon Superuser Rechte</i></b><br>
73
+error.NotOnlineMessage = <b><i>Du kannst diesen User nicht knebeln!</i></b><br>
74
+error.NoVipRightsMessage = <i> <b> Sorry, aber Du bist kein VIP ! </b>  </i><br>
75
+#error.UnknownCommandMessage = 
76
+#error.UnknownUserMessage = 

BIN
chats/yac/AbstractYac.class View File


BIN
chats/yac/localhost/Localhost.class View File


+ 68
- 0
chats/yac/localhost/messages.tpl View File

@@ -0,0 +1,68 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>      */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 80 2008-11-16 15:09:03Z decke $
20
+#
21
+# Chat: yac 0.9.7
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+USERNAME = ([A-za-z0-9/<>\(\)]*)
32
+MESSAGE = (.*)
33
+PRIVILEGEDUSER = ([A-za-z0-9/<>\(\)]*)
34
+
35
+
36
+standard.AwayMessage = <b><i><font>USERNAME meldet sich ab (MESSAGE)</font></i></b><br>
37
+standard.BackMessage = <b><i><font>USERNAME meldet sich zurück (MESSAGE)</font></i></b><br>
38
+standard.ColorChangeMessage = <b><i><font>USERNAME hat die Farbe gewechselt.</font></i></b><br>
39
+standard.InvitedFromMessage = <b><i>Du wurdest von <font>USERNAME</font> in den Raum 'MESSAGE' eingeladen.</i></b><br><b><i>Um die Einladung anzunehmen musst Du /a eintippen.</i></b><br>
40
+standard.MeMessage = <font><b><i>» USERNAME MESSAGE</i></b></font><br>
41
+standard.PublicMessage = <font>(USERNAME) test</font><br>
42
+standard.ShoutMessage = <font><b><i>USERNAME schreit: MESSAGE</i></b></font><br>
43
+standard.WhisperFromMessage = <b><i><font>USERNAME</font> flüstert:  MESSAGE</i></b><br>
44
+standard.WhisperToMessage = <b><i>Du flüsterst zu <font>USERNAME</font>:  MESSAGE</i></b><br>
45
+
46
+room.EnterChatMessage = <i><font>USERNAME</font> betritt den Chat.</i><br>
47
+room.EnterRoomMessage = <b><i><font>USERNAME</font> kommt aus dem Raum 'MESSAGE' herein.</i></b><br>
48
+room.EnterRoomMessage = <b><i><font>USERNAME</font> kommt aus dem Raum 'MESSAGE' geflogen.</i></b><br>
49
+room.LeaveChatMessage = <i><font>USERNAME</font> verlässt den Chat.</i><br>
50
+room.LeaveRoomMessage = <b><i><font>USERNAME</font> geht in den Raum 'MESSAGE'.</i></b><br>
51
+room.LeaveRoomToSepareMessage = <b><i><font>USERNAME</font> geht in den Raum 'MESSAGE' und sperrt ab.</i></b><br>
52
+room.RoomTopicMessage = <b><i><font>USERNAME</font> hat das Thema 'MESSAGE' vergeben.</i></b><br>
53
+
54
+staff.ForceColorChangeMessage = <b><i><font>PRIVILEGEDUSER</font> hat die Farbe von <font>USERNAME</font> geändert.</i></b><br>
55
+staff.GagMessage = <b><i><font>PRIVILEGEDUSER</font> knebelt <font>USERNAME</font>.</i></b><br>
56
+staff.GagMessage = <b><i><font>PRIVILEGEDUSER</font> knebelt <font>USERNAME</font> mit den Worten 'MESSAGE'.</i></b><br>
57
+staff.KickHardMessage = <b><i><font>PRIVILEGEDUSER</font> wirft <font>USERNAME</font> aus dem Chat.</i></b><br>
58
+staff.KickMessage = <b><i><font>PRIVILEGEDUSER</font> hat <font>USERNAME</font> in den Raum 'MESSAGE' geworfen.</i></b><br>
59
+staff.RemoveSuMessage = <b><i><font>PRIVILEGEDUSER</font> entzieht <font>USERNAME</font> die Superuser Rechte.</i></b><br>
60
+staff.RemoveSuMessage = <b><i><font>PRIVILEGEDUSER</font> entzieht <font>USERNAME</font> mit den Worten 'MESSAGE' die Superuser Rechte.</i></b><br>
61
+staff.SuMessage = <b><i><font>PRIVILEGEDUSER</font> ernennt <font>USERNAME</font> zum Superuser.</i></b><br>
62
+staff.SuMessage = <b><i><font>PRIVILEGEDUSER</font> ernennt <font>USERNAME</font> mit den Worten 'MESSAGE' zum Superuser.</i></b><br>
63
+staff.UnGagMessage = <b><i><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> vom Knebel.</i></b><br>
64
+staff.UnGagMessage = <b><i><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> mit den Worten 'MESSAGE' vom Knebel.</i></b><br>
65
+
66
+error.NoSuRightsMessage = <b><i>Sorry, aber du bist kein Superuser!</i></b><br>
67
+error.NotOnlineMessage = <b><i>Der User  existiert nicht!</i></b><br>
68
+error.NoVipRightsMessage = <b><i>Sorry, aber du bist kein VIP!</i></b><br>

BIN
chats/yac/next4u/Next4u.class View File


+ 68
- 0
chats/yac/next4u/messages.tpl View File

@@ -0,0 +1,68 @@
1
+#***************************************************************************/
2
+#*   Project : jBot (an advanced WebChat Bot)                              */
3
+#*                                                                         */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                      */
5
+#*   Homepage: http://www.bluelife.at/                                     */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>      */
7
+#*                                                                         */
8
+#*   This program is free software; you can redistribute it and/or modify  */
9
+#*   it under the terms of the GNU General Public License as published by  */
10
+#*   the Free Software Foundation; either version 2 of the License, or     */
11
+#*   (at your option) any later version.                                   */
12
+#*                                                                         */
13
+#*   This program is distributed in the hope that it will be useful,       */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of        */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
16
+#*   GNU General Public License for more details.                          */
17
+#*                                                                         */
18
+#***************************************************************************/
19
+# $Id: messages.tpl 80 2008-11-16 15:09:03Z decke $
20
+#
21
+# Chat: Next4u.de (yac 0.9.7)
22
+#
23
+# Variables:
24
+#  USERNAME
25
+#  MESSAGE
26
+#  PRIVILEGEDUSER
27
+#  COMMENT
28
+#  TIME
29
+#  IPADDRESS
30
+
31
+USERNAME = ([A-za-z0-9/<>\(\)]*)
32
+MESSAGE = (.*)
33
+PRIVILEGEDUSER = ([A-za-z0-9/<>\(\)]*)
34
+
35
+
36
+standard.AwayMessage = <b><i><font>USERNAME meldet sich ab (MESSAGE)</font></i></b><br>
37
+standard.BackMessage = <b><i><font>USERNAME meldet sich zurück (MESSAGE)</font></i></b><br>
38
+standard.ColorChangeMessage = <b><i><font>USERNAME hat die Farbe gewechselt.</font></i></b><br>
39
+standard.InvitedFromMessage = <b><i>Du wurdest von <font>USERNAME</font> in den Raum 'MESSAGE' eingeladen.</i></b><br><b><i>Um die Einladung anzunehmen musst Du /a eintippen.</i></b><br>
40
+standard.MeMessage = <font><b><i>» <a>USERNAME</a> MESSAGE</i></b></font><br>
41
+standard.PublicMessage = <font>(<a>USERNAME</a>) MESSAGE</font><br>
42
+standard.ShoutMessage = <font><b><i><a>USERNAME</a> schreit: MESSAGE</i></b></font><br>
43
+standard.WhisperFromMessage = <b><i><font>USERNAME</font> flüstert:  MESSAGE</i></b><br>
44
+standard.WhisperToMessage = <b><i>Du flüsterst zu <font>USERNAME</font>:  MESSAGE</i></b><br>
45
+
46
+room.EnterChatMessage = <i><font>USERNAME</font> betritt den Chat.</i><br>
47
+room.EnterRoomMessage = <b><i><font>USERNAME</font> kommt aus dem Raum 'MESSAGE' herein.</i></b><br>
48
+room.EnterRoomMessage = <b><i><font>USERNAME</font> kommt aus dem Raum 'MESSAGE' geflogen.</i></b><br>
49
+room.LeaveChatMessage = <i><font>USERNAME</font> verlässt den Chat.</i><br>
50
+room.LeaveRoomMessage = <b><i><font>USERNAME</font> geht in den Raum 'MESSAGE'.</i></b><br>
51
+room.LeaveRoomToSepareMessage = <b><i><font>USERNAME</font> geht in den Raum 'MESSAGE' und sperrt ab.</i></b><br>
52
+room.RoomTopicMessage = <b><i><font>USERNAME</font> hat das Thema 'MESSAGE' vergeben.</i></b><br>
53
+
54
+staff.ForceColorChangeMessage = <b><i><font>PRIVILEGEDUSER</font> hat die Farbe von <font>USERNAME</font> geändert.</i></b><br>
55
+staff.GagMessage = <b><i><font>PRIVILEGEDUSER</font> knebelt <font>USERNAME</font>.</i></b><br>
56
+staff.GagMessage = <b><i><font>PRIVILEGEDUSER</font> knebelt <font>USERNAME</font> mit den Worten 'MESSAGE'.</i></b><br>
57
+staff.KickHardMessage = <b><i><font>PRIVILEGEDUSER</font> wirft <font>USERNAME</font> aus dem Chat.</i></b><br>
58
+staff.KickMessage = <b><i><font>PRIVILEGEDUSER</font> hat <font>USERNAME</font> in den Raum 'MESSAGE' geworfen.</i></b><br>
59
+staff.RemoveSuMessage = <b><i><font>PRIVILEGEDUSER</font> entzieht <font>USERNAME</font> die Superuser Rechte.</i></b><br>
60
+staff.RemoveSuMessage = <b><i><font>PRIVILEGEDUSER</font> entzieht <font>USERNAME</font> mit den Worten 'MESSAGE' die Superuser Rechte.</i></b><br>
61
+staff.SuMessage = <b><i><font>PRIVILEGEDUSER</font> ernennt <font>USERNAME</font> zum Superuser.</i></b><br>
62
+staff.SuMessage = <b><i><font>PRIVILEGEDUSER</font> ernennt <font>USERNAME</font> mit den Worten 'MESSAGE' zum Superuser.</i></b><br>
63
+staff.UnGagMessage = <b><i><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> vom Knebel.</i></b><br>
64
+staff.UnGagMessage = <b><i><font>PRIVILEGEDUSER</font> befreit <font>USERNAME</font> mit den Worten 'MESSAGE' vom Knebel.</i></b><br>
65
+
66
+error.NoSuRightsMessage = <b><i>Sorry, aber du bist kein Superuser!</i></b><br>
67
+error.NotOnlineMessage = <b><i>Der User  existiert nicht!</i></b><br>
68
+error.NoVipRightsMessage = <b><i>Sorry, aber du bist kein VIP!</i></b><br>

+ 18
- 0
db/db.properties View File

@@ -0,0 +1,18 @@
1
+#HSQL Database Engine
2
+#Sun Mar 26 17:59:37 CEST 2006
3
+hsqldb.script_format=0
4
+runtime.gc_interval=10000
5
+sql.enforce_strict_size=false
6
+hsqldb.cache_size_scale=8
7
+readonly=false
8
+hsqldb.nio_data_file=true
9
+hsqldb.cache_scale=14
10
+version=1.8.0
11
+hsqldb.default_table_type=memory
12
+hsqldb.cache_file_scale=1
13
+sql.compare_in_locale=false
14
+hsqldb.log_size=5
15
+modified=no
16
+hsqldb.cache_version=1.7.0
17
+hsqldb.original_version=1.8.0
18
+hsqldb.compatible_version=1.8.0

+ 1029
- 0
db/db.script
File diff suppressed because it is too large
View File


+ 1133
- 0
db/jbot.sql
File diff suppressed because it is too large
View File


+ 39
- 0
jbot.bat View File

@@ -0,0 +1,39 @@
1
+@cls
2
+@echo off
3
+
4
+:: Uncomment to set JAVA_HOME variable
5
+rem set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03
6
+
7
+:: Uncomment to pass options to the Java virtual machine
8
+rem set JAVA_OPTIONS=-server -Xms4m -Xmx32m
9
+
10
+
11
+::::::::::::::::::::::::::::::::::::::::::::::::::
12
+:: No need to edit anything below here
13
+::::::::::::::::::::::::::::::::::::::::::::::::::
14
+
15
+:: Using JAVA_HOME variable if defined. Otherwise,
16
+:: Java executable must be contained in PATH variable
17
+if "%JAVA_HOME%"=="" (
18
+   set JAVACMD=java
19
+) else (
20
+   set JAVACMD=%JAVA_HOME%\bin\java
21
+)
22
+
23
+:: Use the correct log4j config file
24
+if "%1"=="debug" (
25
+	set LOG4JCONF=log4j-debug.properties
26
+) else (
27
+	set LOG4JCONF=log4j.properties
28
+)
29
+
30
+:: jBot Libraries
31
+set JARS=lib/jbot.jar;lib/jakarta-regexp.jar;lib/log4j.jar
32
+
33
+:: HSQLDB Support
34
+set JARS=%JARS%;lib/hsqldb.jar
35
+
36
+:: MySQL Support
37
+set JARS=%JARS%;lib/mysql-connector.jar
38
+
39
+%JAVACMD% %JAVA_OPTIONS% -Dlog4j.configuration=%LOG4JCONF% -cp "%JARS%" at.bluelife.jbot.BotKernel

+ 288
- 0
jbot.conf View File

@@ -0,0 +1,288 @@
1
+#* ************************************************************************** */
2
+#*   Project : jBot (an advanced WebChat Bot)                                 */
3
+#*                                                                            */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                         */
5
+#*   Homepage: http://www.bluelife.at/                                        */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>        */
7
+#*                                                                            */
8
+#*   This program is free software; you can redistribute it and/or modify     */
9
+#*   it under the terms of the GNU General Public License as published by     */
10
+#*   the Free Software Foundation; either version 2 of the License, or        */
11
+#*   (at your option) any later version.                                      */
12
+#*                                                                            */
13
+#*   This program is distributed in the hope that it will be useful,          */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of           */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            */
16
+#*   GNU General Public License for more details.                             */
17
+#*                                                                            */
18
+#* ************************************************************************** */
19
+# $Id: jbot.conf 81 2008-11-16 15:11:45Z decke $
20
+ 
21
+
22
+##########################################################################
23
+#
24
+## Default Bot Configuration
25
+#
26
+#
27
+### Section 1: General Configuration
28
+#
29
+# Name of the Bot. It is only as Unique identifier in Logfiles etc.
30
+# You can have multible Bots in this Config file completely seperated
31
+# from each other.
32
+#
33
+[DefaultBot]
34
+
35
+#
36
+# Enable or disable this Bot. (can be changed at runtime)
37
+#
38
+enabled = true
39
+
40
+#
41
+# If the Connection is dropped it is possible to automatically relogin
42
+# the Bot. (a relogin each 30 seconds) 
43
+#
44
+autorelogin = true
45
+
46
+#
47
+# The Number of Retries when a bot startup failed. (eg.: Chat login problem)
48
+#
49
+retries = 5
50
+
51
+#
52
+# Output Character Encoding (default: ISO-8859-1)
53
+#
54
+encoding = ISO-8859-1
55
+
56
+### Section 2: Database Connection
57
+#
58
+# Database Wrapper (at.bluelife.jbot.util.sql.*)
59
+#   db.class = [DummyDBConnection|HsqlDBConnection|UniversalDBConnection]
60
+#
61
+# Database Driver
62
+#   db.driver
63
+#
64
+# Database JDBC Connection URL
65
+#   db.url
66
+#
67
+# Database Username
68
+#   db.username
69
+#
70
+# Database Password
71
+#   db.password
72
+#
73
+#
74
+## Examples:
75
+#
76
+## No Database
77
+#
78
+# db.class = DummyDBConnection
79
+# db.driver
80
+# db.url
81
+# db.username = sa
82
+# db.password
83
+#
84
+#
85
+## HSQLDB Database (embedded)
86
+#
87
+# Default HSQLDB Username is "sa" with no Password.
88
+#
89
+# db.class = HsqlDBConnection
90
+# db.driver = org.hsqldb.jdbcDriver
91
+# db.url = jdbc:hsqldb:file:db/db
92
+# db.username = sa
93
+# db.password
94
+#
95
+#
96
+## MySQL Database (extern)
97
+#
98
+# Change: db.url (IP, DATABASENAME), db.username, db.password
99
+#
100
+# db.class = UniversalDBConnection
101
+# db.driver = com.mysql.jdbc.Driver
102
+# db.url = jdbc:mysql://127.0.0.1:3306/DATABASENAME
103
+# db.username = jbot_user
104
+# db.password =
105
+#
106
+db.class = HsqlDBConnection
107
+db.driver = org.hsqldb.jdbcDriver
108
+db.url = jdbc:hsqldb:file:db/db
109
+db.username = sa
110
+db.password
111
+
112
+
113
+### Section 3: Chat Configuration
114
+#
115
+## FreeCS Chat 1.2
116
+#
117
+#
118
+# Chat Login Implementation
119
+#   chat.class = at.bluelife.jbot.chats.freecs.localhost.Localhost
120
+#
121
+# Messages Template File
122
+#   chat.template = chats/freecs/localhost/messages.tpl
123
+#
124
+# Chat Username
125
+#   chat.username = Bot
126
+#
127
+# Chat UserID (only CellChats need the UserID for a successfull login; it is
128
+# called "user_var1" in the login forms)
129
+#   chat.userid = 12345
130
+#
131
+# Chat Password, whatever the login formular sends to the chat
132
+# (if you use MD5 paste the MD5 Hash here)
133
+#   chat.password =
134
+#
135
+# Default Room
136
+#   chat.room = lounge
137
+#
138
+# Chat Host
139
+#   chat.host = localhost
140
+#
141
+# Chat Port
142
+#   chat.port = 1976
143
+#
144
+# Chat Sendport (some chats use an extra port for sending messages)
145
+#   chat.sendport = 4002
146
+#
147
+# Tokened Login
148
+#   chat.tokenedLogin = false
149
+#
150
+# Flood Protect Timeout
151
+#   chat.floodProtectMillis = 500
152
+#
153
+# Chat Raw Login
154
+#   chat.rawLogin = false
155
+#
156
+# The number of messages that can be ignored on login
157
+#   chat.ignoreLoginMessages = 5
158
+#
159
+# Define if it is allowed to send Multi Line Messages (highscore, tables etc.)
160
+#   chat.sendMultiLineMessages = true
161
+#
162
+# TOK (Time-Out Killer)
163
+#   chat.toker = true
164
+#
165
+# Ignore Echoes (prevents endless loops where the bot talks to himself)
166
+#	chat.ignoreEchoes = true
167
+#
168
+# Socket Connect/Read Timeouts; you should increase them if you have frequent
169
+# timeouts when sending messages (Java 1.5.0+)
170
+#   chat.readTimeout = 1000
171
+#   chat.connectTimeout = 2500
172
+#
173
+chat.class = at.bluelife.jbot.chats.freecs.localhost.Localhost
174
+chat.template = chats/freecs/localhost/messages.tpl
175
+chat.username = Bot
176
+chat.password = 
177
+chat.room = lounge
178
+chat.host = localhost
179
+chat.port = 1976
180
+
181
+
182
+### Section 4: Plugin Configuration
183
+#
184
+# Plugins can be loaded and unloaded at runtime. Simply change the String
185
+# and save the File.
186
+# 
187
+# Plugins are seperated with ";" and can be added relative to the base
188
+# at.bluelife.jbot.output.plugins (QuizPlugin, RoomChangerPlugin) or with
189
+# the full Java Package and Class Name.
190
+# (eg. at.bluelife.jbot.output.plugins.QuizPlugin or org.3rdparty.plugins.TestPlugin)
191
+#
192
+# Compiled Plugins are loaded at runtime from /jbot/plugins/
193
+#
194
+## Available Plugins:
195
+#
196
+## QuizPlugin
197
+#   The popular Quiz Plugin.
198
+#
199
+#   Configuration:
200
+#
201
+#     The Chatoutput of the QuizPlugin can be customised if the chat
202
+#     supports it. (FreeCS doesn't!)
203
+#       plugins.bold.start = !b!         
204
+#       plugins.bold.end = 
205
+#       plugins.comment.char = :
206
+#
207
+#     Question Timeout in Seconds.
208
+#       plugins.QuizPlugin.timeout = 25
209
+#
210
+#     Quiz Help:
211
+#       plugins.QuizPlugin.help = false
212
+#       plugins.QuizPlugin.help.percentage = 10
213
+#
214
+#     Quiz Admins
215
+#       plugins.QuizPlugin.admins = nick1,nick2,nick3
216
+#
217
+#     Quiz Moderators
218
+#       plugins.QuizPlugin.moderators = nick1,nick2,nick3
219
+#
220
+#     Moderated Quiz:
221
+#       plugins.QuizPlugin.moderated = false
222
+#
223
+#     Try to give Quiz Moderators SU-Rights if they enter the Room?
224
+#       plugins.QuizPlugin.moderators.autoSU = false
225
+#
226
+#     Size of the Quiz Played List:
227
+#       plugins.QuizPlugin.played.size = 5
228
+#
229
+#     Highscore:
230
+#       plugins.QuizPlugin.highscore = false
231
+#
232
+#     Highscore Database Table:
233
+#       plugins.QuizPlugin.mapping.highscore = highscore
234
+#       plugins.QuizPlugin.mapping.weeklyhighscore = highscore_weekly
235
+#
236
+#     Highscore User Table:
237
+#       plugins.QuizPlugin.mapping.user = users
238
+#
239
+#     Allow jBot to insert new Users in the User Table: (take care!)
240
+#       plugins.QuizPlugin.db.user.insertsAllowed = false
241
+#
242
+#     Highscore User Table Columns:
243
+#       plugins.QuizPlugin.mapping.user.id = id
244
+#       plugins.QuizPlugin.mapping.user.nick = username
245
+#       plugins.QuizPlugin.mapping.user.points = points
246
+#
247
+#     Highscore Limits:
248
+#       plugins.QuizPlugin.highscore.limit.day = 250
249
+#       plugins.QuizPlugin.highscore.limit.week = 1500
250
+#       plugins.QuizPlugin.highscore.limit.lower = 0
251
+#       plugins.QuizPlugin.highscore.limit.upper = 0
252
+#
253
+#
254
+## RoomChangerPlugin
255
+#   Changes the Room directly after Login.
256
+#
257
+#   Configuration:
258
+#
259
+#     The Roomname that will be used
260
+#       plugins.RoomChangerPlugin.room = Quiz
261
+#
262
+#
263
+## WelcomePlugin
264
+#   Each user that joins the Room will get a randomly choosed welcome message.
265
+#
266
+#
267
+plugins = QuizPlugin;RoomChangerPlugin
268
+
269
+## Plugins Configuration:
270
+#
271
+# Plugins can use this configuration file to get custom values. It is recommended
272
+# to contact the Plugin Author or the Documentation for available Plugin
273
+# Configuration Directives.
274
+#
275
+# The recommended naming scheme is:
276
+#  plugins.PLUGINNAME.param = value
277
+# eg.
278
+#  plugins.QuizPlugin.timeout = 25
279
+#  plugins.RoomChangerPlugin.room = Quiz
280
+#
281
+plugins.bold.start =
282
+plugins.bold.end =
283
+plugins.QuizPlugin.timeout = 25
284
+plugins.QuizPlugin.admins = 
285
+plugins.QuizPlugin.moderators = 
286
+plugins.QuizPlugin.help = false
287
+plugins.RoomChangerPlugin.room = Quiz
288
+

+ 298
- 0
jbot.conf-mysql View File

@@ -0,0 +1,298 @@
1
+#* ************************************************************************** */
2
+#*   Project : jBot (an advanced WebChat Bot)                                 */
3
+#*                                                                            */
4
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                         */
5
+#*   Homepage: http://www.bluelife.at/                                        */
6
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>        */
7
+#*                                                                            */
8
+#*   This program is free software; you can redistribute it and/or modify     */
9
+#*   it under the terms of the GNU General Public License as published by     */
10
+#*   the Free Software Foundation; either version 2 of the License, or        */
11
+#*   (at your option) any later version.                                      */
12
+#*                                                                            */
13
+#*   This program is distributed in the hope that it will be useful,          */
14
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of           */
15
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            */
16
+#*   GNU General Public License for more details.                             */
17
+#*                                                                            */
18
+#* ************************************************************************** */
19
+# $Id: jbot.conf-mysql 81 2008-11-16 15:11:45Z decke $
20
+ 
21
+
22
+##########################################################################
23
+#
24
+## MySQL Quiz Bot Configuration
25
+#
26
+#
27
+### Section 1: General Configuration
28
+#
29
+# Name of the Bot. It is only as Unique identifier in Logfiles etc.
30
+# You can have multible Bots in this Config file completely seperated
31
+# from each other.
32
+#
33
+[MySQLQuizBot]
34
+
35
+#
36
+# Enable or disable this Bot. (can be changed at runtime)
37
+#
38
+enabled = true
39
+
40
+#
41
+# If the Connection is dropped it is possible to automatically relogin
42
+# the Bot. (a relogin each 30 seconds) 
43
+#
44
+autorelogin = true
45
+
46
+#
47
+# The Number of Retries when a bot startup failed. (eg.: Chat login problem)
48
+#
49
+retries = 5
50
+
51
+#
52
+# Output Character Encoding (default: ISO-8859-1)
53
+#
54
+encoding = ISO-8859-1
55
+
56
+### Section 2: Database Connection
57
+#
58
+# Database Wrapper (at.bluelife.jbot.util.sql.*)
59
+#   db.class = [DummyDBConnection|HsqlDBConnection|UniversalDBConnection]
60
+#
61
+# Database Driver
62
+#   db.driver
63
+#
64
+# Database JDBC Connection URL
65
+#   db.url
66
+#
67
+# Database Username
68
+#   db.username
69
+#
70
+# Database Password
71
+#   db.password
72
+#
73
+#
74
+## Examples:
75
+#
76
+## No Database
77
+#
78
+# db.class = DummyDBConnection
79
+# db.driver
80
+# db.url
81
+# db.username = sa
82
+# db.password
83
+#
84
+#
85
+## HSQLDB Database (embedded)
86
+#
87
+# Default HSQLDB Username is "sa" with no Password.
88
+#
89
+# db.class = HsqlDBConnection
90
+# db.driver = org.hsqldb.jdbcDriver
91
+# db.url = jdbc:hsqldb:file:db/db
92
+# db.username = sa
93
+# db.password
94
+#
95
+#
96
+## MySQL Database (extern)
97
+#
98
+# Change: db.url (IP, DATABASENAME), db.username, db.password
99
+#
100
+# db.class = UniversalDBConnection
101
+# db.driver = com.mysql.jdbc.Driver
102
+# db.url = jdbc:mysql://127.0.0.1:3306/DATABASENAME
103
+# db.username = jbot_user
104
+# db.password =
105
+#
106
+db.class = UniversalDBConnection
107
+db.driver = com.mysql.jdbc.Driver
108
+db.url = jdbc:mysql://127.0.0.1:3306/jbot
109
+db.username = jbot_user
110
+db.password =
111
+
112
+
113
+### Section 3: Chat Configuration
114
+#
115
+## FreeCS Chat 1.2
116
+#
117
+#
118
+# Chat Login Implementation
119
+#   chat.class = at.bluelife.jbot.chats.freecs.localhost.Localhost
120
+#
121
+# Messages Template File
122
+#   chat.template = chats/freecs/localhost/messages.tpl
123
+#
124
+# Chat Username
125
+#   chat.username = Bot
126
+#
127
+# Chat UserID (only CellChats need the UserID for a successfull login; it is
128
+# called "user_var1" in the login forms)
129
+#   chat.userid = 12345
130
+#
131
+# Chat Password, whatever the login formular sends to the chat
132
+# (if you use MD5 paste the MD5 Hash here)
133
+#   chat.password =
134
+#
135
+# Default Room
136
+#   chat.room = lounge
137
+#
138
+# Chat Host
139
+#   chat.host = localhost
140
+#
141
+# Chat Port
142
+#   chat.port = 1976
143
+#
144
+# Chat Sendport (some chats use an extra port for sending messages)
145
+#   chat.sendport = 4002
146
+#
147
+# Tokened Login
148
+#   chat.tokenedLogin = false
149
+#
150
+# Flood Protect Timeout
151
+#   chat.floodProtectMillis = 500
152
+#
153
+# Chat Raw Login
154
+#   chat.rawLogin = false
155
+#
156
+# The number of messages that can be ignored on login
157
+#   chat.ignoreLoginMessages = 5
158
+#
159
+# Define if it is allowed to send Multi Line Messages (highscore, tables etc.)
160
+#   chat.sendMultiLineMessages = true
161
+#
162
+# TOK (Time-Out Killer)
163
+#   chat.toker = true
164
+#
165
+# Ignore Echoes (prevents endless loops where the bot talks to himself)
166
+#	chat.ignoreEchoes = true
167
+#
168
+# Socket Connect/Read Timeouts; you should increase them if you have frequent
169
+# timeouts when sending messages (Java 1.5.0+)
170
+#   chat.readTimeout = 1000
171
+#   chat.connectTimeout = 2500
172
+#
173
+chat.class = at.bluelife.jbot.chats.freecs.localhost.Localhost
174
+chat.template = chats/freecs/localhost/messages.tpl
175
+chat.username = Bot
176
+chat.password = 
177
+chat.room = lounge
178
+chat.host = localhost
179
+chat.port = 1976
180
+
181
+
182
+### Section 4: Plugin Configuration
183
+#
184
+# Plugins can be loaded and unloaded at runtime. Simply change the String
185
+# and save the File.
186
+# 
187
+# Plugins are seperated with ";" and can be added relative to the base
188
+# at.bluelife.jbot.output.plugins (QuizPlugin, RoomChangerPlugin) or with
189
+# the full Java Package and Class Name.
190
+# (eg. at.bluelife.jbot.output.plugins.QuizPlugin or org.3rdparty.plugins.TestPlugin)
191
+#
192
+# Compiled Plugins are loaded at runtime from /jbot/plugins/
193
+#
194
+## Available Plugins:
195
+#
196
+## QuizPlugin
197
+#   The popular Quiz Plugin.
198
+#
199
+#   Configuration:
200
+#
201
+#     The Chatoutput of the QuizPlugin can be customised if the chat
202
+#     supports it. (FreeCS doesn't!)
203
+#       plugins.bold.start = !b!         
204
+#       plugins.bold.end = 
205
+#       plugins.comment.char = :
206
+#
207
+#     Question Timeout in Seconds.
208
+#       plugins.QuizPlugin.timeout = 25
209
+#
210
+#     Quiz Help:
211
+#       plugins.QuizPlugin.help = false
212
+#       plugins.QuizPlugin.help.percentage = 10
213
+#
214
+#     Quiz Admins
215
+#       plugins.QuizPlugin.admins = nick1,nick2,nick3
216
+#
217
+#     Quiz Moderators
218
+#       plugins.QuizPlugin.moderators = nick1,nick2,nick3
219
+#
220
+#     Moderated Quiz:
221
+#       plugins.QuizPlugin.moderated = false
222
+#
223
+#     Try to give Quiz Moderators SU-Rights if they enter the Room?
224
+#       plugins.QuizPlugin.moderators.autoSU = false
225
+#
226
+#     Size of the Quiz Played List:
227
+#       plugins.QuizPlugin.played.size = 5
228
+#
229
+#     Highscore:
230
+#       plugins.QuizPlugin.highscore = false
231
+#
232
+#     Highscore Database Table:
233
+#       plugins.QuizPlugin.mapping.highscore = highscore
234
+#       plugins.QuizPlugin.mapping.weeklyhighscore = highscore_weekly
235
+#
236
+#     Highscore User Table:
237
+#       plugins.QuizPlugin.mapping.user = users
238
+#
239
+#     Allow jBot to insert new Users in the User Table: (take care!)
240
+#       plugins.QuizPlugin.db.user.insertsAllowed = false
241
+#
242
+#     Highscore User Table Columns:
243
+#       plugins.QuizPlugin.mapping.user.id = id
244
+#       plugins.QuizPlugin.mapping.user.nick = username
245
+#       plugins.QuizPlugin.mapping.user.points = points
246
+#
247
+#     Highscore Limits:
248
+#       plugins.QuizPlugin.highscore.limit.day = 250
249
+#       plugins.QuizPlugin.highscore.limit.week = 1500
250
+#       plugins.QuizPlugin.highscore.limit.lower = 0
251
+#       plugins.QuizPlugin.highscore.limit.upper = 0
252
+#
253
+#
254
+## RoomChangerPlugin
255
+#   Changes the Room directly after Login.
256
+#
257
+#   Configuration:
258
+#
259
+#     The Roomname that will be used
260
+#       plugins.RoomChangerPlugin.room = Quiz
261
+#
262
+#
263
+## WelcomePlugin
264
+#   Each user that joins the Room will get a randomly choosed welcome message.
265
+#
266
+#
267
+plugins = QuizPlugin;RoomChangerPlugin
268
+
269
+## Plugins Configuration:
270
+#
271
+# Plugins can use this configuration file to get custom values. It is recommended
272
+# to contact the Plugin Author or the Documentation for available Plugin
273
+# Configuration Directives.
274
+#
275
+# The recommended naming scheme is:
276
+#  plugins.PLUGINNAME.param = value
277
+# eg.
278
+#  plugins.QuizPlugin.timeout = 25
279
+#  plugins.RoomChangerPlugin.room = Quiz
280
+#
281
+plugins.bold.start =
282
+plugins.bold.end =
283
+plugins.QuizPlugin.timeout = 25
284
+plugins.QuizPlugin.help = true
285
+plugins.QuizPlugin.help.percentage = 25
286
+plugins.QuizPlugin.admins = 
287
+plugins.QuizPlugin.moderators = 
288
+plugins.QuizPlugin.highscore = true
289
+plugins.QuizPlugin.mapping.highscore = highscore
290
+plugins.QuizPlugin.mapping.weeklyhighscore = highscore_weekly
291
+plugins.QuizPlugin.mapping.user = users
292
+plugins.QuizPlugin.mapping.user.id = id
293
+plugins.QuizPlugin.mapping.user.nick = username
294
+plugins.QuizPlugin.mapping.user.points = points
295
+plugins.QuizPlugin.db.user.insertsAllowed = true
296
+plugins.QuizPlugin.highscore.limit.day = 250
297
+plugins.QuizPlugin.highscore.limit.week = 1500
298
+plugins.RoomChangerPlugin.room = Quiz

+ 170
- 0
jbot.sh View File

@@ -0,0 +1,170 @@
1
+#!/bin/sh
2
+
3
+#* ************************************************************************** */
4
+#*   Project : jBot (an advanced WebChat Bot)                                 */
5
+#*                                                                            */
6
+#*   Author  : Bernhard Froehlich <decke@bluelife.at>                         */
7
+#*   Homepage: http://www.bluelife.at/                                        */
8
+#*   Copyright (c) 2005 - 2008 Bernhard Froehlich <decke@bluelife.at>        */
9
+#*                                                                            */
10
+#*   This program is free software; you can redistribute it and/or modify     */
11
+#*   it under the terms of the GNU General Public License as published by     */
12
+#*   the Free Software Foundation; either version 2 of the License, or        */
13
+#*   (at your option) any later version.                                      */
14
+#*                                                                            */
15
+#*   This program is distributed in the hope that it will be useful,          */
16
+#*   but WITHOUT ANY WARRANTY; without even the implied warranty of           */
17
+#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            */
18
+#*   GNU General Public License for more details.                             */
19
+#*                                                                            */
20
+#* ************************************************************************** */
21
+# $Id: jbot.sh 95 2008-11-23 12:06:17Z decke $
22
+
23
+
24
+# jBot Home Directory
25
+# 
26
+# this could be:
27
+#  JBOT_HOME=/root/jbot
28
+# or
29
+#  JBOT_HOME=/usr/local/jbot
30
+# or
31
+#  wherever you unpacked it to
32
+JBOT_HOME=.
33
+
34
+# jBot Configuration File
35
+JBOT_CONF=jbot.conf
36
+
37
+# Default File Encoding for the Java VM
38
+ENCODING=ISO-8859-1
39
+
40
+# Path to the Libraries
41
+JBOT_LIBS=${JBOT_HOME}/lib
42
+
43
+# jBot Logfile
44
+JBOT_LOGFILE=${JBOT_HOME}/jbot.log
45
+
46
+# jBot PID file
47
+JBOT_PIDFILE=/tmp/jbot.pid
48
+
49
+# Java jar Archives in the Classpath
50
+JARS=".:${JBOT_LIBS}/jbot.jar:${JBOT_LIBS}/jakarta-regexp.jar:${JBOT_LIBS}/log4j.jar"
51
+
52
+# HSQLDB Support
53
+JARS="${JARS}:${JBOT_LIBS}/hsqldb.jar"
54
+
55
+# MySQL Support
56
+JARS="${JARS}:${JBOT_LIBS}/mysql-connector.jar"
57
+
58
+# log4j Properties File
59
+LOG4J_PROP=log4j.properties
60
+
61
+# Force a JAVA_HOME path; if you have set JAVA_HOME you won't need it
62
+# FORCE_JAVA_HOME=
63
+
64
+
65
+# Dont't touch anything below here - you're warned
66
+
67
+if [ ! -z "${FORCE_JAVA_HOME}" ] ; then
68
+    JAVA_BINARY="${FORCE_JAVA_HOME}/bin/java"
69
+elif [ ! -z "${JAVA_HOME}" ] ; then
70
+    JAVA_BINARY="${JAVA_HOME}/bin/java"
71
+elif [ -x `which java` ] ; then
72
+    JAVA_BINARY="java"
73
+else
74
+    echo "Java not found. Maybe JAVA_HOME is not set correctly?"
75
+    echo "You can alternately set FORCE_JAVA_HOME in blueclient.sh"
76
+    exit 1
77
+fi
78
+
79
+if [ ! -d "${JBOT_HOME}" ] ; then
80
+   echo "JBOT_HOME is not set correctly"
81
+   exit 1
82
+fi
83
+
84
+
85
+start() {
86
+   if [ -f "${JBOT_PIDFILE}" ]; then
87
+      echo "jbot already running"
88
+      exit 1
89
+   fi
90
+
91
+   echo "starting jbot ... "
92
+          
93
+   ${JAVA_BINARY} \
94
+      -Djbot.logfile=${JBOT_LOGFILE} \
95
+      -Dlog4j.configuration=${LOG4J_PROP} \
96
+      -Dfile.encoding=${ENCODING} \
97
+      -Xms4M \
98
+      -Xmx32M \
99
+      -cp ${JARS} \
100
+      at.bluelife.jbot.BotKernel \
101
+      -b=${JBOT_HOME} \
102
+      -c=${JBOT_CONF} \
103
+      >/dev/null &
104
+   echo $! > ${JBOT_PIDFILE}  
105
+   echo "jbot (pid `cat ${JBOT_PIDFILE}`) started."
106
+}
107
+
108
+stop() {
109
+   echo "shutting down jbot ..."
110
+   
111
+   if [ -f "${JBOT_PIDFILE}" ]; then
112
+      kill -TERM `cat ${JBOT_PIDFILE}` && echo "done"
113
+      rm ${JBOT_PIDFILE}
114
+   else
115
+      echo "failed! No such Process"
116
+   fi
117
+}
118
+
119
+status() {
120
+   if [ -f "${JBOT_PIDFILE}" ]; then
121
+      echo "jbot is running (pid `cat ${JBOT_PIDFILE}`)"
122
+   else
123
+      echo "not running"
124
+   fi<