Commit Graph

43 Commits

Author SHA1 Message Date
Pragmatic Software fa6dad12cd Add `Aliases` table to MessageHistory
Improve linking of known aliases for users by using an aliases table
to track the linkages.

Improve check-bans implementation to use new aliases table for
significant performance gains and reduced resource usage.
2015-05-11 21:27:22 -07:00
Pragmatic Software 5904a3f1f4 Allow quoting/escaping spaces in grab arguments 2014-05-22 01:24:14 +00:00
Pragmatic Software 30e3c5ce35 Remove PBot getter/setters; move anti-flood registry defaults to AntiFlood.pm 2014-05-18 20:09:05 +00:00
Pragmatic Software d955bfa06c Add centralized configuration registry module
Allows changing of bot configuration values without needing to restart
bot instance or needing to edit pbot.pl script.

Registry will initially be populated with default values from pbot.pl,
but if a registry file exists then the registry values will take
precedence over the pbot.pl values. For instance, if you regset the
bot trigger to '%' then the trigger will be '%' even if pbot.pl has '!'
or something else explicitly set.

Some registry items can have trigger hooks associated with them.  For
instance, the irc->botnick registry entry has a change_botnick_trigger
associated with it which changes the IRC nick on the server when a new
value is set via regset/regadd.

Tons of other fixes and improvements throughout.
2014-05-17 20:08:19 +00:00
Pragmatic Software d8d26b1cea Add registerable atexit functionality and trap SIGINT 2014-05-16 22:11:31 +00:00
Pragmatic Software 92b4ef00cf Improve `recall` command with better capabilities
The nick field is now optional and Getopt::Long is used to accept targeted
options for channel/history, allowing recalls by text/channel for any nick
which is useful when you know what text the message contained but not who
said it.
2014-05-14 21:23:59 +00:00
Pragmatic Software 54ac8ec0ef Convert message history to use SQLite database instead of Perl hashtable
Added MessageHistory.pm and MessageHistory_SQLite.pm.  May eventually port
and add MessageHistory_Hashtable.pm as was done with Quotegrabs, but this is
not particularly high on the todo list.

Antiflood.pm has been updated to use the new MessageHistory API.

The `recall` command has been moved from Quotegrabs into MessageHistory.  It
also now has the ability to ignore messages containing the recall command
itself, for improved usability.

Likewise, the `grab` command will now ignore previous `grab` commands when
grabbing by regex in order to prevent accidentally grabbing previous grab
attempts.

The `join` and `part` commands have been improved to accept multiple channels,
and `part` will use the current channel if none is provided.
2014-05-13 10:15:52 +00:00
Pragmatic Software 62d93c76c3 Remove left-over debugging print statements 2014-05-06 05:17:31 +00:00
Pragmatic Software 239e3de8ea Quotegrabs.pm now uses quotegrabs_db API for interfacing with storage backend
Two quotegrabs_db backends are now availble:

  * Quotegrabs_Hashtable.pm: the original hashtable implementation
  * Quotegrabs_SQLite.pm: the new SQLite implementation

Quotegrabs_SQLite.pm is now the default quotegrabs_db backend.

This was done to reduce the memory footprint of the bot by not needing to
keep the entire quotegrabs table in memory any longer.

A similiar change will be coming soon to the Factoids table as well as the
MessageHistory table.
2014-05-06 05:15:27 +00:00
Pragmatic Software 6de1023ee8 Use Getopt::Long to parse `rq` options 2014-04-30 21:37:28 +00:00
Pragmatic Software b35382109c Show random quotegrab: if nick_search begins with "#", assume they meant to specify channel_search 2014-04-28 01:52:49 +00:00
Pragmatic Software 4e8aa560e8 Use proper letter-casing of nick in recall command results 2014-04-02 01:58:35 +00:00
Pragmatic Software edd507b2e0 Show channel in quotegrabs getq command 2014-03-15 08:12:52 +00:00
Pragmatic Software 2faeeb2de8 Add -nick/-channel/-text options to quotegrabs rq command (also retaining original syntax) 2014-03-15 08:07:05 +00:00
Pragmatic Software 9b2c374bbb Use export_site properly in Quotegrabs.pm 2014-03-03 10:33:34 +00:00
Pragmatic Software f6c75f2b4f Factoids and Quotegrabs HTML exported tables can now be filtered 2014-03-03 09:24:33 +00:00
Pragmatic Software 4c4bdd9188 Show nick before channel in `rq` command when no quotes found 2014-02-10 18:07:34 +00:00
Pragmatic Software 6d8fac71fb Improve output when no matching quotes found for `rq` command 2014-02-10 18:04:05 +00:00
Pragmatic Software f618b29282 Do not lowercase hostmask/nicks in message history (quotegrab now preserves nick case) 2013-11-14 06:35:40 +00:00
Pragmatic Software a9adbcf498 Support `+` in `recall` command to recall multiple messages, similiar to `grab` 2013-10-27 07:34:00 +00:00
Pragmatic Software 97261637f1 Add `recall` command 2013-10-26 23:22:25 +00:00
Pragmatic Software 274193bed7 Allow quote grabbers to delete their own grabs 2013-10-26 02:39:54 +00:00
Pragmatic Software e1588491e3 Improve error messages for `grab` command 2013-10-22 21:30:56 +00:00
Pragmatic Software b6a09e50e3 Add table of contents to quotegrabs html export 2013-10-13 10:23:20 +00:00
Pragmatic Software 37dca64465 Add missing closing html tags to quotegrabs html export 2013-10-12 13:36:36 +00:00
Pragmatic Software fd12d228d8 Improve author(s) column in quotegrab html export 2013-10-12 11:00:29 +00:00
Pragmatic Software ba5042259f Improve quotegrab export and touch-up database 2013-10-12 04:35:01 +00:00
Pragmatic Software 701e554ecf Improve quotegrab html export with sortable columns 2013-10-11 18:17:07 +00:00
Pragmatic Software bd9e53e77a Split multi-context grabbed nicks to show first nick when displaying such quotegrabs 2013-10-04 22:14:16 +00:00
Pragmatic Software 2cb74ecf95 Add functionality to grab multiple nicks in one quotegrab 2013-10-04 04:55:45 +00:00
Pragmatic Software 58d45480a5 Using `grab` command without arguments now properly displays help text 2013-07-24 12:34:13 +00:00
Pragmatic Software 0f234734b8 Prepend "/me" to ACTION messages; update Quotegrabs to recognize "/me" messages 2013-06-04 17:09:30 +00:00
Pragmatic Software 8586038f03 Misc updates 2013-06-03 17:04:24 +00:00
Pragmatic Software 6b35dc210c Skip message containing grab command when grabbing own nick; match brackets for compiler-block; etc 2012-08-12 16:41:38 +00:00
Pragmatic Software cb770d81ac Grab most recent quote by regex instead of oldest first 2012-08-01 11:06:01 +00:00
Pragmatic Software 876d9fb5c6 Improved grab command to accept regex for history 2012-08-01 09:57:43 +00:00
Pragmatic Software 314eabaf3e Quotegrabs: added more information to getq (grab owner and timestamp)
Interpreter: remove leading and trailing whitespace from text to improve parsing
AntiFlood: Remove some log output, improve some other log output
2011-12-04 01:13:21 +00:00
Pragmatic Software c4ed12b0cb anti-flood, IRC, etc: added support for tracking NickServ accounts; refactored flood message history to be keyed on hostmask instead of nick; placed message history channels into its own sub-key 2011-02-11 02:46:35 +00:00
Pragmatic Software b405f8b88e Quotegrabs: Lowercase nick when grabbing 2011-01-20 00:15:58 +00:00
Pragmatic Software a743261059 See Changes file 2010-03-26 05:14:03 +00:00
Pragmatic Software d299a8fb0f 90% done in object-oriented conversion -- IgnoreList doesnt save/load/use regex yet. 2010-03-24 06:47:40 +00:00
Pragmatic Software fa50724b58 Progressing on object-oriented conversion. Some functionality may be missing. 2010-03-23 18:24:02 +00:00
Pragmatic Software f725743ccb == MAJOR NEW BETA RELEASE ==
Converted single large "amalgamate" monolithic pbot2.pl script into multiple Perl packages/modules.

Tons of refactoring and clean-ups.

Consider this version to be beta.  Use at your own risk.
2010-03-17 06:36:54 +00:00