Commit Graph

808 Commits

Author SHA1 Message Date
Pragmatic Software ad1ab83298 Update bad_actions with more matches 2015-02-14 04:02:13 -08:00
Pragmatic Software 9f23aef2d0 Random IRC nicks cannot start with a digit 2015-02-14 04:01:09 -08:00
Pragmatic Software 022f86c3e1 Update version 2015-02-13 15:37:55 -08:00
Pragmatic Software 2db21dd011 Update version 2015-02-13 14:39:27 -08:00
Pragmatic Software 2a63cced1d Update version 2015-02-11 21:38:48 -08:00
Pragmatic Software 23ae41c2f2 Update version 2015-02-07 08:48:58 -08:00
Pragmatic Software b693f96806 Update version 2015-01-29 01:40:00 -08:00
Pragmatic Software 972b542582 Update version 2015-01-29 01:25:09 -08:00
Pragmatic Software 12cd9cb8e0 Improve launching of modules
If a `workdir` factoid key is present, the launcher will chdir
to make the specified value the current working directory.

Redirect stderr output to a $modulename-stderr in the module's
current working directory.
2015-01-27 23:49:30 -08:00
Pragmatic Software 4b9e177aec Update version 2015-01-24 08:05:58 -08:00
Pragmatic Software 74f717ad51 Update version 2015-01-23 13:50:17 -08:00
Pragmatic Software f8b6b19398 Show only chat messages in `recall` surrounding context (no joins/quits/etc) 2015-01-23 13:50:14 -08:00
Pragmatic Software 573a18e6ef Update version 2015-01-23 12:33:06 -08:00
Pragmatic Software 5ab76e6e6c Add -x/-context <nick> flag to limit recall -before/-after context to that nick 2015-01-23 11:44:38 -08:00
Pragmatic Software 90597350c5 Update version 2015-01-23 07:36:53 -08:00
Pragmatic Software b806a473d2 Add ability to get surrounding message context in recall command
Add the -b/-before and -a/-after flags to the `recall` command to display
that many lines of surrounding context.

For example, `recall -c ##c -b 100` will show the last 100 messages in the ##c
channel.

Another example, `recall pragma- 50 -b 5 -a 5` will show the 5 messages before the 50th
most recent message spoken by pragma- and then show that 50th message and finally show
the 5 messages after it.
2015-01-23 07:36:39 -08:00
Pragmatic Software 8810605691 Show server:port when connecting 2015-01-23 05:35:06 -08:00
Pragmatic Software 659e61f1fb Update version 2015-01-10 15:56:46 -08:00
Pragmatic Software 7243832cc3 Improve connecting/nicking logic
Randomize nick when connecting and change to botnick after identifying.

Identify after receiving connection welcome message.

Ghost existing nick if it is already in use and then attempt to regain it.
2015-01-10 15:56:43 -08:00
Pragmatic Software 28bd6f3611 Update version 2015-01-06 15:35:55 -08:00
Pragmatic Software 5d1412227f Update version 2014-12-30 17:26:35 -08:00
Pragmatic Software ebd47406ca Update version 2014-12-29 23:56:49 -08:00
Pragmatic Software 7a1d37b51a Update version 2014-12-29 23:25:31 -08:00
Pragmatic Software f9e2c3fb49 CJeopardy improvements
- Reduce hint wait-period from 60 seconds to 30 seconds
- Improve ignoring of common leading words in answers
- Correct several grammar mistakes/typos in questions
2014-12-29 23:19:32 -08:00
Pragmatic Software b289fd155e Add repo_module to registry to customize source URL in factinfo command 2014-12-29 23:15:46 -08:00
Pragmatic Software 4c65df0529 Update update-version.pl from svn to git 2014-12-29 23:04:35 -08:00
Pragmatic Software ecd2bad066 Add anti-kick-auto-rejoin module that temporarily kickbans offenders who immediately auto-rejoin after having been kicked 2014-12-28 00:44:15 +00:00
Pragmatic Software 0b9513ca2e Reduce ban-tracker verbosity by putting "Getting baninfo" log messages in a debug block 2014-12-27 05:20:21 +00:00
Pragmatic Software bb5c825aab Correct handling of anti-away /me actions 2014-12-27 05:08:42 +00:00
Pragmatic Software e5909965f7 Move anti-away stuff to its own AntiAway.pm module; add /me actions to anti-away detection 2014-12-27 04:53:42 +00:00
Pragmatic Software ba59edb040 Update paren.py module to improve parentheses verbosity 2014-12-20 19:44:40 +00:00
Pragmatic Software a09d3c1d63 Add `permop` channel flag; when non-zero bot automatically ops itself when joining channel, otherwise bot ops itself only when needing to perform an op command and then deops itself after its deop timeout has elapsed 2014-12-18 08:46:13 +00:00
Pragmatic Software 598e2e4988 Add NickList module to track nicks present in channels; dispatch pbot.join/pbot.part events when bot joins/parts channels 2014-11-15 01:18:33 +00:00
Pragmatic Software d1e7abc175 Add event dispatcher module to allow modules to dispatch events and
to register handlers to listen for events.

Update IRCHandlers module to use new event dispatcher to dispatch
irc.events.  Update several modules to register with dispatcher
to listen for irc.events.

Improve handling of reconnection upon unexpected disconnection.

Todo: update more things to use new event dispatcher logic.
2014-11-01 00:15:21 +00:00
Pragmatic Software bc604d3ce2 Insert additional events to IRC::Event::_names table so default handlers will pick them up
Fix up indentation of _names table
2014-11-01 00:08:21 +00:00
Pragmatic Software 5a63fbd705 Auto-kick people who change nicks to a nick matching $bad_away_nicks 2014-10-28 20:35:33 +00:00
Pragmatic Software c979efcfa6 Ignore add_op_command() for channels bot is not registered or set as op 2014-10-28 20:34:48 +00:00
Pragmatic Software f640ade74e Fix regex factoids so that regular factoid keywords have priority over regex triggers 2014-10-28 20:33:11 +00:00
Pragmatic Software f70e044a60 Update latest hostmask last_seen timestamp when linking accounts 2014-10-14 02:33:13 +00:00
Pragmatic Software a679b0ff15 Improve handling of KICK events wrt to message history 2014-10-14 02:32:22 +00:00
Pragmatic Software 46fa0d52b3 Minor code formatting improvement 2014-10-14 02:30:57 +00:00
Pragmatic Software 4dbec8001e Fix regex factoids in global namespace not being triggered 2014-10-14 02:30:14 +00:00
Pragmatic Software 750b78cb53 quotemeta doesn't escape underscores, whoops -- manually escape underscores for Message History SQL statements 2014-10-01 21:18:54 +00:00
Pragmatic Software 79796f9710 CGrammar: Add istrue to static assertion expression; add ability to customize istrue truthiness result, add isfalse 2014-09-19 04:17:37 +00:00
Pragmatic Software 9d3c8c0285 CGrammar: Correct translation of sizeof in static assertions 2014-09-19 03:54:13 +00:00
Pragmatic Software b2e6d7e4c0 Update version 2014-09-11 13:37:57 +00:00
Pragmatic Software 2529d49aac CGrammar: Remove excessive "result of the expression" for parenthesized expressions 2014-09-09 07:20:42 +00:00
Pragmatic Software 83af062376 Fix case-sensitivity to show QUIT messages properly 2014-09-09 07:19:10 +00:00
Pragmatic Software d40361a2bf Disallow ?, [, ], and ~~ in math.pl 2014-08-31 20:27:40 +00:00
Pragmatic Software fa2e3e4b5d Dump LWP error text if get_title.pl fails to fetch webpage 2014-08-31 20:26:24 +00:00
Pragmatic Software 838f232d68 Update C Jeopardy questions 2014-08-31 20:24:08 +00:00
Pragmatic Software a5ede3307e Update C facts module 2014-08-31 20:23:27 +00:00
Pragmatic Software 021401b538 C Jeopardy: Show correctness percentage when an answer is almost correct; recommend #cjeopardy channel when attempting to play via /msg 2014-08-31 20:21:09 +00:00
Pragmatic Software 34d9a2a6d9 Appropriately wildcard /gateway/ hostmask bans 2014-08-18 14:57:12 +00:00
Pragmatic Software 749fda0ff3 Add HHGTTG easter egg to math.pl 2014-08-13 16:55:04 +00:00
Pragmatic Software 654cce66a5 Improve check for ban-evasion when nick-change is detected 2014-08-12 05:51:21 +00:00
Pragmatic Software 068c6a0559 Add default handler for unhandled IRC events; ignore certain IRC events; improve handling of chan-op requests 2014-08-11 07:34:30 +00:00
Pragmatic Software c40e34b3a1 Add newline to "also known as" output to improve formatting in pastes 2014-08-11 07:33:05 +00:00
Pragmatic Software 321fdc401c Improve handling of white-space when splitting output on new-lines 2014-08-11 07:32:24 +00:00
Pragmatic Software c03a1288b6 CGrammar: Fix a|an substitution to an|a 2014-08-10 05:31:29 +00:00
Pragmatic Software 527e8490a3 CGrammar: Add offsetof 2014-08-10 05:03:37 +00:00
Pragmatic Software 48382de916 Add ability to set maximum number of newlines allowed before truncating for preserve newlines 2014-08-05 23:15:11 +00:00
Pragmatic Software dddc9c3be9 Paste remaining lines to paste site if truncated with more lines remaining when preserve newlines is in effect 2014-08-05 23:11:51 +00:00
Pragmatic Software a8ffedc853 C Jeopardy commands now use preserve_whitespace 2014-08-04 22:51:09 +00:00
Pragmatic Software ca37b4fd4e Fix use of wrong sub name when saving registry entries in add/remove subs 2014-08-04 22:50:22 +00:00
Pragmatic Software b15ab7f84f Add ability to preserve newlines in output; require explicit `factadd` to add factoids 2014-08-04 22:48:32 +00:00
Pragmatic Software 74cffe091c C Jeopardy: More improvements to question database 2014-08-04 21:51:23 +00:00
Pragmatic Software 18d245cf10 C Jeopardy: Now says "Too slow!" if someone else also answers the correct answer within 15 seconds 2014-08-04 06:25:56 +00:00
Pragmatic Software 7d6e505d9f C Jeopardy: Clean up some typoes in the questions 2014-08-04 05:20:28 +00:00
Pragmatic Software bf9fe32682 C Jeopardy: Fix and clean-up some questions; fix substitution if "is" in answers 2014-08-04 00:35:41 +00:00
Pragmatic Software 4bf78bf978 C Jeopardy: Add tons of new questions; add support for supplemental tidbits; don't obscure dashes and underscors in hints 2014-08-03 22:20:54 +00:00
Pragmatic Software 55bdc5b930 Enforce CPU limit on expand_macro module 2014-08-03 22:02:36 +00:00
Pragmatic Software bc871bf4b2 C facts: Improve generation of C facts; update cfacts.txt with new facts 2014-08-02 16:01:51 +00:00
Pragmatic Software 9651847165 C Jeopardy: Correct showing of text/answer in "close enough" output due to recent change in handling of typographical case 2014-07-29 20:21:06 +00:00
Pragmatic Software 236b4c1d06 C Jeopardy: Add time-limit to hints 2014-07-29 20:07:48 +00:00
Pragmatic Software 88dc009ae7 C Jeopardy: Show correct typographical case for answers 2014-07-29 19:00:06 +00:00
Pragmatic Software d49700d1e1 C Jeopardy: Add hint command to slowly reveal answer when stumped 2014-07-29 17:30:12 +00:00
Pragmatic Software 2d0a490ed2 C Jeopardy: Fix minor inconsequential typo 2014-07-28 16:28:11 +00:00
Pragmatic Software 00fd1eee89 C Jeopardy: Update question data with additional acceptable answers 2014-07-28 15:56:13 +00:00
Pragmatic Software 9978f0c793 C Jeopardy: Add shuffler to preventing repeating questions 2014-07-28 15:25:54 +00:00
Pragmatic Software 1f8445d3bc C Jeopardy: Add time-limit to `cjeopardy` command. The current question will be shown if within this time-limit, otherwise a new question is shown 2014-07-28 07:45:05 +00:00
Pragmatic Software 4b2abf316f Add C Jeopardy module 2014-07-28 04:29:05 +00:00
Pragmatic Software cf63d9d46a compiler_vm: maintain original ordering of statements before, after and between functions instead of shoving everything to the top or into main 2014-07-23 21:27:09 +00:00
Pragmatic Software 491b4243ad More clean-up of C facts 2014-07-23 20:16:10 +00:00
Pragmatic Software d266e04284 More clean-up of C facts 2014-07-22 09:45:36 +00:00
Pragmatic Software 978c6b1f9d Fix typo in C facts: `simple` -> `simply` 2014-07-22 03:10:10 +00:00
Pragmatic Software c04896aa32 Fix up a couple more C facts misparses 2014-07-22 03:08:56 +00:00
Pragmatic Software d90c845a3b Clean-up some misparsed C facts 2014-07-22 02:14:44 +00:00
Pragmatic Software bcf76471c8 Add `cfact` module 2014-07-22 01:46:16 +00:00
Pragmatic Software da7a827c01 CGrammar: Add "result of the expression" to assignment expressions with spaces; remove extraneous trailing "Do nothing" 2014-07-21 21:27:22 +00:00
Pragmatic Software de375e63a1 CGrammar: Add _Generic; fix issue with compound-literals 2014-07-21 07:11:11 +00:00
Pragmatic Software fd89a4d0f4 CGrammar: Correct placement of "to" in conditional operator; restore "Begin block" and "End block" for nested compound statements 2014-07-18 03:52:16 +00:00
Pragmatic Software 3e47f6bc58 CGrammar: Emit "Do nothing" for empty case statements 2014-07-18 00:39:06 +00:00
Pragmatic Software 7f293450ef CGrammar: Fix for loop init and break statement 2014-07-17 19:04:09 +00:00
Pragmatic Software a59cc20128 CGrammar: Improve if/else in switch block, and improve "Fall through to next case" 2014-07-17 18:51:29 +00:00
Pragmatic Software af8787797a CGrammar: Improve translation of switch/case block 2014-07-17 18:36:09 +00:00
Pragmatic Software 46a0184791 CGrammar: Translate ' ' to "a space"; touch up translation of "the result of the expression the result of the function" to just "the result of the function" 2014-07-16 13:36:40 +00:00
Pragmatic Software ed73046d6b CGrammar: Limit "the result of the expression" to initializer expressions; improve grammar of bitwise assignments 2014-07-15 07:27:34 +00:00
Pragmatic Software 077978bfa1 Add -h option to `aka` command to show full hostmasks 2014-07-13 07:06:04 +00:00
Pragmatic Software 2a8d9152f5 CGrammar: Improve handling of "the result of the expression" 2014-07-13 06:36:55 +00:00
Pragmatic Software 46b5b95d54 Escape undesired SQL wildcards in certain statements; add `aka` command to list also-known-as entries 2014-07-11 12:57:18 +00:00
Pragmatic Software 65073e311d Add support for `nooverride` to prevent commands from being overridden in different namespaces 2014-07-11 12:56:17 +00:00
Pragmatic Software 23b725eeb8 Prevent warning about given/when; incorporate general offense counter in enter abuse offenses; decrement enter abuses once every 24 hours instead of once per hour 2014-07-11 12:54:56 +00:00
Pragmatic Software b2114ca03f CGrammar: Concatenate adjacent string literals 2014-07-11 11:30:05 +00:00
Pragmatic Software 69eca9a336 CGrammar: Change "Repeatedly never" to "Never repeatedly" 2014-07-10 13:13:57 +00:00
Pragmatic Software bea4480cf3 CGrammar: Fix handling 0 as conditional in for loop 2014-07-10 13:11:13 +00:00
Pragmatic Software 38b6edf656 CGrammar: Fix passing 0 as argument to function 2014-07-10 12:35:33 +00:00
Pragmatic Software 5f9fb29e7e CGrammar: Add some missing lowercasing specifiers 2014-07-10 12:24:29 +00:00
Pragmatic Software fab1986a3e CGrammar: Do not use "result of the expression" for single terms 2014-07-10 01:23:19 +00:00
Pragmatic Software 4520be1a2c CGrammar: Improve translation of initializer expressions such as `int i = 'a' > 'b';` 2014-07-09 09:19:49 +00:00
Pragmatic Software de3493f1ca CGrammar: Do not use "an" for items beginning with 'y'; improve translation of array of array indices 2014-07-08 05:24:21 +00:00
Pragmatic Software 029cc1ec7a CGrammar: Improve handling of space seperator in declaration initializers; fix issue with typedefs starting with a type specifier 2014-07-08 03:28:51 +00:00
Pragmatic Software 0c8078c6db CGrammar: Don't pluralize "member" for structs with a single function pointer 2014-07-08 01:15:51 +00:00
Pragmatic Software cc0957b060 CGrammar: Improve handling of declarations and initializers; improve translation of sizeof in statement context 2014-07-08 00:33:50 +00:00
Pragmatic Software 4a646f61c9 CGrammar: correct order of sizeof unary expressions 2014-07-07 10:24:15 +00:00
Pragmatic Software 6295b0f503 CGrammar: Add _Atomic 2014-07-07 09:15:46 +00:00
Pragmatic Software d244af52d8 CGrammar: Improve _Static_assert translation 2014-07-07 08:39:06 +00:00
Pragmatic Software b470359071 CGrammar: Add _Static_assert 2014-07-07 08:27:10 +00:00
Pragmatic Software 9623086310 CGrammar: Add C11's _Alignof 2014-07-07 06:45:50 +00:00
Pragmatic Software 162e264e82 CGrammar: Remove left-over debugging statements 2014-07-06 04:49:10 +00:00
Pragmatic Software 8de131b871 CGrammar: Support C11's _Alignas; improve handling of comments in declaration specifiers 2014-07-06 04:47:07 +00:00
Pragmatic Software 520d1a2c9c CGrammar: Support flexible array struct members; fix up minor whitespace issue 2014-07-05 05:11:07 +00:00
Pragmatic Software 5b10d9769e CGrammar: Correct order of pointer abstract declarator -- now parses `int *[]` properly 2014-07-05 04:39:35 +00:00
Pragmatic Software c638b2c993 CGrammar: Fix shebangs to use env to detect perl location 2014-07-05 00:04:15 +00:00
Pragmatic Software e17c749ca7 CGrammar: Remove todo comments 2014-07-04 23:45:38 +00:00
Pragmatic Software 4583d85b50 CGrammar: Fix declarations without identifier 2014-07-04 23:41:54 +00:00
Pragmatic Software 9c5b307bef compiler_vm: Fix #include parsing logic against mismatched #include <foo" tokens 2014-07-04 13:04:27 +00:00
Pragmatic Software 9b93a33acf CGrammar improvements:
- show return type if _Noreturn function has type other than void
  - improve translation of function body
  - replace "Let `i` be an int" with "Declare `i` as an int"
2014-07-04 12:18:59 +00:00
Pragmatic Software 1f3533bf76 CGrammar: support inline and _Noreturn function specifiers 2014-07-04 11:09:58 +00:00
Pragmatic Software e1ed0bb6b9 CGrammar: replace `parameters` with `arguments` where appropriate 2014-07-04 08:20:01 +00:00
Pragmatic Software 8b626cc81e CGrammar: Wrap struct/union member declaration list with commas to disambiguate nested structs/unions 2014-07-04 02:58:55 +00:00
Pragmatic Software 8b72c03d34 CGrammar improvements:
- periods after "Call the function" and "Result of the function"
  - conditional operator in assignment expression now says "otherwise the value"
  - struct members now use "`identifer` as type" in declarations
  - fix chained designated initializers, e.g. s.i[0] = x and [0][0] = x
  - fix post/pre-incremented/decremented array elements
  - correct positioning of "is nonzero" in multidimensional array locations
2014-07-03 21:33:20 +00:00
Pragmatic Software df5fcbeaaa CGrammar: Add C11 use of type-qualifiers and static in array declarators in function parameter lists 2014-07-02 20:55:50 +00:00
Pragmatic Software d320d5e04a Fix compliment module 2014-07-02 20:54:17 +00:00
Pragmatic Software 8d38af0d69 CGrammar: Include preprocessor and comments in block items 2014-07-02 18:04:22 +00:00
Pragmatic Software 469e16ce28 CGrammar: Update compound-statements to C11's block-item-list mixing declarations and statements 2014-07-02 17:54:21 +00:00
Pragmatic Software 07f9ef6120 CGrammar: Remove "the list" from initializer lists; restore skipping of whitespace to struct/union/enum specifier 2014-07-02 16:54:02 +00:00
Pragmatic Software 7b42e9220e CGrammar: Fix case where `intx` could be parsed as a declaration instead of an identifier 2014-07-02 16:36:22 +00:00
Pragmatic Software 5eee740cd7 CGrammar: Add designated initializers 2014-07-02 01:32:13 +00:00
Pragmatic Software aca698374c CGrammar: Correct beautification regex for "the a" 2014-07-01 19:07:44 +00:00
Pragmatic Software 73967e0721 CGrammar: Progress on C11 features -- added compound-literals 2014-07-01 18:57:02 +00:00
Pragmatic Software 34def4f9ad CGrammar: Fix ordering of statement vs conditional/expression due to concatenated context 2014-07-01 17:03:07 +00:00
Pragmatic Software d6c20bc051 CGrammar: Put space after if/while/for keywords 2014-07-01 16:21:52 +00:00
Pragmatic Software b66e9502d7 CGrammar: Improve translation of structure postfix productions; concatenate contexts for multiple context 2014-07-01 16:16:40 +00:00
Pragmatic Software f4fdd9f221 CGrammar: Begin adding C11 features; add for-loop init declaration; add C11 keywords to reserved list 2014-06-29 21:13:18 +00:00
Pragmatic Software 5d9b45661d CGrammar: Correct handling of empty string literals during beautification 2014-06-28 14:49:59 +00:00
Pragmatic Software 086d5059b1 CGrammar: Move output beautification to c2eng.pl; white-out string literals before beautifying 2014-06-28 14:41:50 +00:00
Pragmatic Software 5730d56d54 CGrammar: Improvements to translation of comma operator 2014-06-28 10:18:28 +00:00
Pragmatic Software 99aea7fe63 CGrammar: Fix translation of multiple type specifiers, e.g. `long double` no longer becomes `double long` 2014-06-27 11:38:54 +00:00
Pragmatic Software 3a3827fe40 CGrammar: Correct context for translation of "post-incremented" vs "increment by one" 2014-06-27 11:25:45 +00:00