3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-30 16:09:28 +01:00
Commit Graph

843 Commits

Author SHA1 Message Date
Pragmatic Software
6701ee67f9 find_factoid() can now be told to return found alias instead 2015-03-28 17:49:42 -07:00
Pragmatic Software
5457e129b0 Update version 2015-03-27 13:01:15 -07:00
Pragmatic Software
7599fb0c19 Correct handling of bot trigger in /msg since earlier commit allowing trigger to be a regex 2015-03-27 13:00:43 -07:00
Pragmatic Software
5117c601fb Update version 2015-03-27 04:09:50 -07:00
Pragmatic Software
9140cbec07 Remove ancient obsoleted -1 check on Nickserv account 2015-03-27 04:09:39 -07:00
Pragmatic Software
7f87730de8 Improve handling of Nickserv accounts in check-bans and unbanme 2015-03-27 04:08:47 -07:00
Pragmatic Software
377cf99d35 Update version 2015-03-23 04:27:49 -07:00
Pragmatic Software
44bdf26ebc Add support for per-channel bot trigger characters 2015-03-23 04:27:41 -07:00
Pragmatic Software
2e9f15b7e2 Support IPv6 banmasks 2015-03-23 04:18:33 -07:00
Pragmatic Software
0db12b82ae Update version 2015-03-20 21:14:11 -07:00
Pragmatic Software
be47b2cbf2 Improve output of blacklist and ignorelist commands 2015-03-20 21:14:07 -07:00
Pragmatic Software
3e88db4505 Update version 2015-03-16 23:22:22 -07:00
Pragmatic Software
728e05e514 Correct minor logic error 2015-03-16 23:22:18 -07:00
Pragmatic Software
b45b707ec2 Update version 2015-03-16 21:10:12 -07:00
Pragmatic Software
9a52fffcdd Rename ShitList to BlackList; minor refactor of IgnoreList 2015-03-16 21:08:25 -07:00
Pragmatic Software
d350affa93 Update version 2015-03-15 20:13:03 -07:00
Pragmatic Software
cb9ead7624 Incorporate custom workdir field into URL for modules 2015-03-15 20:12:44 -07:00
Pragmatic Software
9abce1c102 Update version 2015-03-15 14:07:54 -07:00
Pragmatic Software
284f943c08 Fix typos 2015-03-15 14:07:38 -07:00
Pragmatic Software
e604767517 Add support for shitlisting hostmasks 2015-03-15 13:52:30 -07:00
Pragmatic Software
73ba1e7c19 Update version 2015-03-11 02:00:14 -07:00
Pragmatic Software
7970018777 Improve handling of nick-change flood 2015-03-11 02:00:10 -07:00
Pragmatic Software
9ec50d8f5d Update version 2015-03-04 00:41:41 -08:00
Pragmatic Software
386e03c184 Add stayloggedin field to admin accounts to prevent logging out when /parting or /quitting 2015-03-04 00:39:44 -08:00
Pragmatic Software
d5073be98f Update version 2015-02-17 01:47:38 -08:00
Pragmatic Software
e0971e8158 Update version 2015-02-17 01:32:28 -08:00
Pragmatic Software
f06aa9dda6 Update version 2015-02-15 20:30:34 -08:00
Pragmatic Software
b23935b8dc Create SQLite index for Messages table
This significantly speeds up certain SQL actions on
the Messages table that were done for anti-flood detection.

The bot should now be significantly more quicker to catch
floods promptly without delay.

(Also, comment out some logging messages. Perhaps revisit this
and wrap them with a debug registry variable instead.)
2015-02-15 20:30:28 -08:00
Pragmatic Software
19788eec47 Use 0 second timeout on SelectHandler's select
We do not need to wait for any timeout period in SelectHandler's
select since IRC.pm's select has a 1 second (by default) timeout.

Removing this unnecessary delay will increase the overall
responsiveness of the bot.
2015-02-15 20:23:07 -08:00
Pragmatic Software
1ffe857ba5 Print IRC debug messages to STDERR 2015-02-15 20:19:51 -08:00
Pragmatic Software
ec13cf14bc Search all channels if target channel is not a valid channel (private message, for instance) 2015-02-15 20:18:46 -08:00
Pragmatic Software
04f47ba3a1 Show "global" if namespace is ".*" 2015-02-15 20:17:36 -08:00
Pragmatic Software
9f265a0f0e Do not enforce anti-flood on logged in bot admins 2015-02-15 20:16:37 -08:00
Pragmatic Software
559b9ddde1 Use NickList instead of MessageHistory for target channels 2015-02-14 04:03:39 -08:00
Pragmatic Software
800b097a34 Use NickList instead of MessageHistory for target channels 2015-02-14 04:03:18 -08:00
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