3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-10-02 01:18:40 +02:00
Commit Graph

622 Commits

Author SHA1 Message Date
Pragmatic Software
24035d8db9 Update udict 2017-10-10 20:30:26 -07:00
Pragmatic Software
cfc8ec9f06 Limit qalc cpu time 2017-10-05 19:37:05 -07:00
Pragmatic Software
f69bf3e849 Add "versus" feature to Google search 2017-09-27 22:44:44 -07:00
Pragmatic Software
807bfbf235 Persist-key now works on VM-based code-factoids 2017-09-18 21:36:40 -07:00
Pragmatic Software
e43d2ef144 Improvements to code-factoids
Most code languages now accept factoida arguments as command-line
arguments; e.g., argc and argv in C/C++, args[] in Java, @ARGV in Perl, etc.

No longer say "Same output" for code-factoids.
2017-09-15 16:41:36 -07:00
Pragmatic Software
df9689f32c Disable gdb auto-solib-add in compiler VM 2017-09-14 19:11:02 -07:00
Pragmatic Software
76764a06bf Use JSON to communicate wtih compiler VM 2017-09-14 19:10:21 -07:00
Pragmatic Software
4389d01b54 code-factoids now support native variables (currently only C-family and Perl are implemented) 2017-09-12 05:50:49 -07:00
Pragmatic Software
85693f905a Convert code-factoids to use VM
Code-factoids can now use the compiler virtual machine. Any languages installed
in the VM are valid candidates for code-factoids!

Syntax: factadd keyword /code language code here
2017-09-10 19:53:29 -07:00
Pragmatic Software
76b9aa49bd Harden compiler vm server a bit
Instead of adding compiler user to dialout/serial/ttyS0 group, we now
run compiler_vm_server.pl as root to access ttyS0 and then drop privileges
to the compiler user to compile snippets that do not have access to ttyS0.
2017-09-09 18:21:20 -07:00
Pragmatic Software
2361436d34 Fix virsh compiler server forking issues 2017-09-08 13:47:15 -07:00
Pragmatic Software
dfa6c4a9e1 Add virsh compiler server 2017-09-08 05:32:33 -07:00
Pragmatic Software
9ef69ec005 Update compiler watchdog 2017-09-08 05:32:10 -07:00
Pragmatic Software
9608cac9cb Properly pass date to default VM languages 2017-09-08 00:21:41 -07:00
Pragmatic Software
6fb1c3a142 Compiler VM now resets after each execution 2017-09-07 17:51:13 -07:00
Pragmatic Software
63aeceaf39 Improvements to C Jeopardy! 2017-06-07 19:31:07 -07:00
Pragmatic Software
4fa8a88118 urban: add + and - in front of thumbs up/down counts 2017-05-14 05:45:50 -07:00
Pragmatic Software
f120959935 urban module: improve showing of number of entries 2017-05-14 01:39:02 -07:00
Pragmatic Software
f54587ef0a urban module: Always number of entries 2017-05-13 23:57:20 -07:00
Pragmatic Software
07ee6ee40c add license header 2017-05-13 23:42:43 -07:00
Pragmatic Software
6a7fffcb03 Completely rewrite urban dictionary module 2017-05-13 23:40:56 -07:00
Pragmatic Software
8b8020c301 Update modules 2017-04-10 19:40:14 -07:00
Tomasz Kramkowski
b5d8f72254 License project under MPL2
This patch adds the file LICENSE which is the verbatim copy of the
Mozilla Public License Version 2.0 as retreived from
https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt on
2017-03-05.

This patch also places license headers for the MPL2 type A variant of
the license header in the following files:

PBot/AntiFlood.pm
PBot/BanTracker.pm
PBot/BlackList.pm
PBot/BotAdminCommands.pm
PBot/BotAdmins.pm
PBot/ChanOpCommands.pm
PBot/ChanOps.pm
PBot/Channels.pm
PBot/Commands.pm
PBot/DualIndexHashObject.pm
PBot/EventDispatcher.pm
PBot/FactoidCommands.pm
PBot/FactoidModuleLauncher.pm
PBot/Factoids.pm
PBot/HashObject.pm
PBot/IRCHandlers.pm
PBot/IgnoreList.pm
PBot/IgnoreListCommands.pm
PBot/Interpreter.pm
PBot/LagChecker.pm
PBot/Logger.pm
PBot/MessageHistory.pm
PBot/MessageHistory_SQLite.pm
PBot/NickList.pm
PBot/PBot.pm
PBot/Plugins.pm
PBot/Plugins/AntiAway.pm
PBot/Plugins/AntiKickAutoRejoin.pm
PBot/Plugins/AntiRepeat.pm
PBot/Plugins/AntiTwitter.pm
PBot/Plugins/AutoRejoin.pm
PBot/Plugins/Counter.pm
PBot/Plugins/Quotegrabs.pm
PBot/Plugins/Quotegrabs/Quotegrabs_Hashtable.pm
PBot/Plugins/Quotegrabs/Quotegrabs_SQLite.pm
PBot/Plugins/UrlTitles.pm
PBot/Plugins/_Example.pm
PBot/Refresher.pm
PBot/Registerable.pm
PBot/Registry.pm
PBot/RegistryCommands.pm
PBot/SQLiteLogger.pm
PBot/SQLiteLoggerLayer.pm
PBot/SelectHandler.pm
PBot/StdinReader.pm
PBot/Timer.pm
PBot/Utils/ParseDate.pm
PBot/VERSION.pm
build/update-version.pl
modules/acronym.pl
modules/ago.pl
modules/c11std.pl
modules/c2english.pl
modules/c2english/CGrammar.pm
modules/c2english/c2eng.pl
modules/c99std.pl
modules/cdecl.pl
modules/cfaq.pl
modules/cjeopardy/IRCColors.pm
modules/cjeopardy/QStatskeeper.pm
modules/cjeopardy/Scorekeeper.pm
modules/cjeopardy/cjeopardy.pl
modules/cjeopardy/cjeopardy_answer.pl
modules/cjeopardy/cjeopardy_filter.pl
modules/cjeopardy/cjeopardy_hint.pl
modules/cjeopardy/cjeopardy_qstats.pl
modules/cjeopardy/cjeopardy_scores.pl
modules/cjeopardy/cjeopardy_show.pl
modules/codepad.pl
modules/compiler_block.pl
modules/compiler_client.pl
modules/compiler_vm/Diff.pm
modules/compiler_vm/cc
modules/compiler_vm/compiler_client.pl
modules/compiler_vm/compiler_server.pl
modules/compiler_vm/compiler_server_vbox_win32.pl
modules/compiler_vm/compiler_server_watchdog.pl
modules/compiler_vm/compiler_vm_client.pl
modules/compiler_vm/compiler_vm_server.pl
modules/compiler_vm/compiler_watchdog.pl
modules/compiler_vm/languages/_c_base.pm
modules/compiler_vm/languages/_default.pm
modules/compiler_vm/languages/bash.pm
modules/compiler_vm/languages/bc.pm
modules/compiler_vm/languages/bf.pm
modules/compiler_vm/languages/c11.pm
modules/compiler_vm/languages/c89.pm
modules/compiler_vm/languages/c99.pm
modules/compiler_vm/languages/clang.pm
modules/compiler_vm/languages/clang11.pm
modules/compiler_vm/languages/clang89.pm
modules/compiler_vm/languages/clang99.pm
modules/compiler_vm/languages/clangpp.pm
modules/compiler_vm/languages/clisp.pm
modules/compiler_vm/languages/cpp.pm
modules/compiler_vm/languages/freebasic.pm
modules/compiler_vm/languages/go.pm
modules/compiler_vm/languages/haskell.pm
modules/compiler_vm/languages/java.pm
modules/compiler_vm/languages/javascript.pm
modules/compiler_vm/languages/ksh.pm
modules/compiler_vm/languages/lua.pm
modules/compiler_vm/languages/perl.pm
modules/compiler_vm/languages/python.pm
modules/compiler_vm/languages/python3.pm
modules/compiler_vm/languages/qbasic.pm
modules/compiler_vm/languages/scheme.pm
modules/compiler_vm/languages/server/_c_base.pm
modules/compiler_vm/languages/server/_default.pm
modules/compiler_vm/languages/server/c11.pm
modules/compiler_vm/languages/server/c89.pm
modules/compiler_vm/languages/server/c99.pm
modules/compiler_vm/languages/server/clang.pm
modules/compiler_vm/languages/server/clang11.pm
modules/compiler_vm/languages/server/clang89.pm
modules/compiler_vm/languages/server/clang99.pm
modules/compiler_vm/languages/server/cpp.pm
modules/compiler_vm/languages/server/freebasic.pm
modules/compiler_vm/languages/server/haskell.pm
modules/compiler_vm/languages/server/java.pm
modules/compiler_vm/languages/server/qbasic.pm
modules/compiler_vm/languages/server/tendra.pm
modules/compiler_vm/languages/sh.pm
modules/compiler_vm/languages/tendra.pm
modules/compliment
modules/cstd.pl
modules/define.pl
modules/dice_roll.pl
modules/excuse.sh
modules/expand_macros.pl
modules/fnord.pl
modules/funnyish_quote.pl
modules/g.pl
modules/gdefine.pl
modules/gen_cfacts.pl
modules/gencstd.pl
modules/get_title.pl
modules/getcfact.pl
modules/google.pl
modules/gspy.pl
modules/gtop10.pl
modules/gtop15.pl
modules/headlines.pl
modules/horoscope
modules/horrorscope
modules/ideone.pl
modules/insult.pl
modules/love_quote.pl
modules/man.pl
modules/map.pl
modules/math.pl
modules/prototype.pl
modules/qalc.pl
modules/random_quote.pl
modules/seen.pl
modules/urban
modules/weather.pl
modules/wikipedia.pl
pbot.pl
pbot.sh

It is highly recommended that this list of files is reviewed to ensure
that all files are the copyright of the sole maintainer of the
repository. If any files with license headers contain the intellectual
property of anyone else, it is recommended that a request is made to
revise this patch or that the explicit permission of the co-author is
gained to allow for the license of the work to be changed.

I (Tomasz Kramkowski), the contributor, take no responsibility for any
legal action taken against the maintainer of this repository for
incorrectly claiming copyright to any work not owned by the maintainer
of this repository.
2017-03-06 00:31:15 +00:00
Pragmatic Software
b89becfc31 Make beeps more interesting 2017-02-27 04:46:55 -08:00
Pragmatic Software
e4ca260aaf cjeopardy filter: Make comma substitution global 2017-02-21 05:50:02 -08:00
Pragmatic Software
b98b683cc2 Allow more sensible C Jeopardy filtering (do not treat underscores as word characters) 2017-02-20 18:08:38 -08:00
Pragmatic Software
b158a372a2 C Jeopardy can now be user-filtered to skip undesirable questions 2016-12-06 20:47:24 -08:00
Pragmatic Software
6decfb7e6c Ensure hint is reset for new question; auto-hint mode available in =cut block 2016-12-06 17:59:43 -08:00
Pragmatic Software
d7040568bc Tip to use !hint again for new players 2016-12-06 17:58:01 -08:00
Pragmatic Software
9845bd3b00 Tip to ask for a hint after 4 wrong streak 2016-12-06 17:57:50 -08:00
Pragmatic Software
ddd543146f Minor typo fixes 2016-12-06 17:54:27 -08:00
Pragmatic Software
b772b5f0c1 Update Google search module 2016-08-01 01:46:17 -07:00
Pragmatic Software
82c53b2af7 Add insults offline text file 2016-07-15 13:34:19 -07:00
Pragmatic Software
318ae31b11 Add surreal "compliments" offline text file 2016-07-13 10:13:03 -07:00
Pragmatic Software
4e0cf750f0 Replace  with "*BEEP*"; fall-back to codepad if sprunge doesn't paste 2016-06-28 12:04:54 -07:00
Pragmatic Software
38de356beb Minor bugfixes to C compiler module 2016-03-15 12:45:08 -07:00
Pragmatic Software
bd19b134c3 Minor C grammar improvements 2016-02-21 01:41:47 -08:00
Pragmatic Software
51cc028920 Improve dice roll syntax 2015-12-22 17:23:38 -08:00
Pragmatic Software
3b8974544e Add more ignore criteria for URL titles 2015-12-22 17:23:01 -08:00
Pragmatic Software
95da60fc1d Don't rank ratio if less than 50 answers 2015-12-22 17:21:04 -08:00
Pragmatic Software
106690eb73 Show double-quotes in hints 2015-12-22 17:20:00 -08:00
Pragmatic Software
7a0d502fee Fix minor typos 2015-12-22 17:19:23 -08:00
Pragmatic Software
81abdbec29 Improve handling of -t for dict command 2015-10-15 16:07:51 -07:00
Pragmatic Software
11c6ebc9c3 Update dice_roll.pl to accept +n modifier 2015-10-06 17:35:21 -07:00
Pragmatic Software
ef3b8f0fbc compiler_vm improvements
Server-side C base now strips print_last_statement() and rebuilds/re-runs code
if there was any bad gdb output related to it (i.e. "No such symbol" or "A
syntax error in expression").
2015-09-17 22:18:14 -07:00
Pragmatic Software
76fc3a33a1 compiler_vm improvements
Compiler watchdog now properly handles signals raised during gdb functions.

Compiler watchdog now times out and flushes output when "hung".
2015-09-17 22:16:23 -07:00
Pragmatic Software
d3944d82d9 Fix "an UTF"/"an union" with "a UTF"/"a union", etc 2015-09-12 06:18:34 -07:00
Pragmatic Software
3a428a8c1b Do not show duplicate URL titles within 60 second period from same nick 2015-09-08 01:25:12 -07:00
Pragmatic Software
99cb688032 Remove useless cfacts 2015-09-08 01:24:13 -07:00
Pragmatic Software
b0f12edc9b c2english: add uchar.h and update error message to C11 2015-09-08 01:23:44 -07:00
Pragmatic Software
3f6f3b6a36 Improvements to C-to-English 2015-09-07 22:20:52 -07:00
Pragmatic Software
511994025c Update compiler_vm stuff 2015-09-03 21:32:44 -07:00
Pragmatic Software
593fe59263 Do not print values of uninitialized/unassigned objects 2015-08-16 05:19:53 -07:00
Pragmatic Software
b23ea3f212 compiler_vm improvements
Convert escaped characters (\n, \r, \t, etc) in stdin input to literal values.

Fix some print_last_statement() issues.
2015-07-18 08:12:59 -07:00
Pragmatic Software
6a6f0aa7e6 Restore -g flag to -g3 2015-07-17 00:33:04 -07:00
Pragmatic Software
f535d5fb7b Add no_gdb_extensions flag to disable gdb extensions for TenDRA 2015-07-17 00:32:26 -07:00
Pragmatic Software
079a3b9e90 Add print_last_statement() and other misc compiler_vm fixes 2015-07-12 02:54:08 -07:00
Pragmatic Software
cb712af92d Add history directory (compiler_vm) 2015-07-12 02:48:22 -07:00
Pragmatic Software
7638bb031b Fix interactive-editing chained commands 2015-06-16 21:51:09 -07:00
Pragmatic Software
c0cb6331a9 Fix "const const" and reorder types 2015-05-25 17:25:00 -07:00
Pragmatic Software
059ac072a6 Adjust score output: Move ratio to end, and use concise time durations 2015-05-25 11:34:43 -07:00
Pragmatic Software
dcc48e98e2 Add ratio to scores 2015-05-25 11:27:24 -07:00
Pragmatic Software
f4013a4594 Correct qstats rank text from player rank text 2015-05-25 11:27:03 -07:00
Pragmatic Software
2a378d67ad Bump maximum average to 15 minutes 2015-05-25 11:25:55 -07:00
Pragmatic Software
38c00f3220 Remove unused modules 2015-05-25 07:19:49 -07:00
Pragmatic Software
f81e9bc592 Add QStats ranking 2015-05-25 07:17:20 -07:00
Pragmatic Software
748a9fd049 Add some more alternative answers 2015-05-25 07:15:58 -07:00
Pragmatic Software
2a2296c916 Add command to display a C Jeopardy question by ID (for use with qstats) 2015-05-25 07:00:03 -07:00
Pragmatic Software
2258512698 Replace incomplete question with one that makes more sense 2015-05-24 12:12:07 -07:00
Pragmatic Software
0bef21770f Reduce weight of correct answers in quickest streak by half 2015-05-24 06:19:03 -07:00
Pragmatic Software
b79b835579 Add nick field to WrongAnswers; don't update average if > 10 mins elapsed since question asked 2015-05-24 06:17:56 -07:00
Pragmatic Software
cd0486e525 Remove UNIQUE constraint from WrongAnswers 2015-05-23 09:25:20 -07:00
Pragmatic Software
2dc245abed Add qstats command; todo: ranking 2015-05-23 06:24:49 -07:00
Pragmatic Software
ae128442a8 Add date for quickest/longest answer qstat 2015-05-23 06:24:22 -07:00
Pragmatic Software
afad192b83 Show fractional seconds; use concise duration 2015-05-23 06:23:37 -07:00
Pragmatic Software
41cc190f2a Add "expansion" as an alternative answer to "replacement" 2015-05-23 06:22:45 -07:00
Pragmatic Software
7d3bf58d86 Oops, add missing equation to moving average formula 2015-05-23 02:58:58 -07:00
Pragmatic Software
5b4fccb3f4 Add per-question statistics gathering 2015-05-23 02:27:53 -07:00
Pragmatic Software
7a5a3a38f2 Improve quickest streak ranking; misc bug-fixes 2015-05-23 02:27:08 -07:00
Pragmatic Software
04a308a59e Improve quickest-streak algorithm for setting new records
Use the following formula to set personal records for quickest-streak
relative to an existing personal current record.

(ranked_streak + ranked_streak) / ranked_answers > (current_streak + ranked_streak) / current_answers

E.g., given a current record of 8 correct answers in a row in 1 minute and
20 seconds, to beat that record you'd need: 6 answers in 40 seconds, 7 in
1 minute, 9 in 1 minute 40 seconds, 10 in 2 minutes, etc.
2015-05-22 04:03:39 -07:00
Pragmatic Software
b0b74cd6ea Add "greater" as alternate answer to a certain question 2015-05-22 03:59:00 -07:00
Pragmatic Software
66635da9cc Don't bold "this" or "these" embedded in other words 2015-05-22 03:58:28 -07:00
Pragmatic Software
ada7f57141 Reduce hint timeout to 20 seconds; don't update hint statistics if in hints-only mode 2015-05-22 03:57:30 -07:00
Pragmatic Software
8508be2d72 Add quickest-correct-streak logic CJeopardy scores module
Remove colors from `score` command
2015-05-21 07:35:04 -07:00
Pragmatic Software
766859eca0 Remove underscore typo 2015-05-21 03:26:38 -07:00
Pragmatic Software
51d8a136ce Add quickest-correct-streak logic to CJeopardy answer module
Todo: Add to `rank`, `scores`, and `reset`.
2015-05-21 02:25:08 -07:00
Pragmatic Software
882dea12e4 Add clang++ language option
Update all clang languages to use clang-3.7.
2015-05-18 20:50:11 -07:00
Pragmatic Software
d001720f11 Add qbasic language (using freebasic -lang qb) 2015-05-18 20:49:12 -07:00
Pragmatic Software
06ee49d7ff Update compiler_server.pl 2015-05-18 20:48:39 -07:00
Pragmatic Software
03baaeb81c Refactor handling of --version flags; add --analyze
Move handling of certain language-specific flags out of
compiler_vm_server.pl and into their own language modules.

Add support for clang --analyze.

Java now understands -version.
2015-05-18 20:48:15 -07:00
Pragmatic Software
c69d6c1953 Ignore more useless URL titles 2015-05-08 05:11:07 -07:00
Pragmatic Software
3baa1cf809 Added qalc calculator module 2015-05-08 05:02:57 -07:00
Pragmatic Software
7139490067 Updated math.pl to perform unit conversions 2015-05-08 05:02:35 -07:00
Pragmatic Software
bc99ac001f Compiler CPU watchdog: print message only when there's load 2015-04-21 01:10:45 -07:00
Pragmatic Software
10c17bd3ad Add watchdog to monitor VM cpu load and reset for excessive load
Detect if VM is running under excessive load (e.g., due to fork bombing)
for longer than a certain period and reset the VM state if so.
2015-04-20 21:33:01 -07:00
Pragmatic Software
ef22f9578d Move backspace handling to base class for all languages 2015-04-16 03:12:07 -07:00
Pragmatic Software
0d69796e6f Increase BC_LINE_LENGTH in bc language 2015-04-16 03:11:10 -07:00
Pragmatic Software
c4659cd4cb Minor cosmetic refactoring of C11 language 2015-04-16 03:10:45 -07:00
Pragmatic Software
766e433d33 Add all standard C++ headers to C++ compiler_vm language 2015-04-16 03:09:32 -07:00
Pragmatic Software
3a7051b32b Perform rudimentary Java language preprocessing 2015-04-10 05:08:07 -07:00