3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-28 21:52:35 +01:00
Commit Graph

93 Commits

Author SHA1 Message Date
Pragmatic Software
d8d26b1cea Add registerable atexit functionality and trap SIGINT 2014-05-16 22:11:31 +00:00
Pragmatic Software
cd54dcb573 Track and handle nick-change events; add anti-nick-flood detection 2014-05-16 00:48:46 +00:00
Pragmatic Software
1f242aeec4 Detect and handle KICK events 2014-05-15 15:49:56 +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
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
4a110848e9 Add SelectHandler class to register callbacks for selecting and reading handles; updating StdinReader to use SelectHandler 2014-03-14 05:51:15 +00:00
Pragmatic Software
80a29256ed Fix undefined variable $from when issuing commands from stdin 2014-03-07 16:50:35 +00:00
Pragmatic Software
5a61f57f3c Use Storable to save/load message history hash
Reuse config_dir/data_dir variable in pbot.pl
2014-02-05 01:10:56 +00:00
Pragmatic Software
416115f12f Ban timeouts hash converted to DualIndexHashObject to properly group masks by channels 2013-07-24 12:35:40 +00:00
Pragmatic Software
dc52430044 Add SSL support, and other misc updates 2013-02-25 02:27:24 +00:00
Pragmatic Software
876d9fb5c6 Improved grab command to accept regex for history 2012-08-01 09:57:43 +00:00
Pragmatic Software
44ba3001cb Updated mode +q list tracking to updated freenode syntax; added ban whitelist (for evasion allowing) 2011-12-11 22:56:57 +00:00
Pragmatic Software
3c6288920e Added channel ban tracking 2011-02-13 05:07:02 +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
805832d977 pbot: allowed bot trigger to be customizable from pbot.pl; bot registry coming soon... 2011-01-30 03:22:00 +00:00
Pragmatic Software
8983a53732 pbot: slightly improved readability/flow of PBot.pm 2011-01-26 10:13:06 +00:00
Pragmatic Software
aaa261b66e pbot: correct default config directory 2011-01-26 10:04:55 +00:00
Pragmatic Software
e6e89023a0 pbot: made PBot.pm more readable and concise 2011-01-26 09:40:08 +00:00
Pragmatic Software
45a2a66d0f Moved lag-checking code to LagChecker.pm; improved output of !lagcheck command 2011-01-24 23:56:55 +00:00
Pragmatic Software
b11b660929 antiflood/pbot: added basic support for lag detection 2011-01-22 09:26:04 +00:00
Pragmatic Software
e3655749fd Added Net::IRC as PBot::IRC in order to support PONG events and possible future customisation 2011-01-22 08:35:31 +00:00
Pragmatic Software
4be7fe3b34 Refactored Factoids to use DualIndexHashObject; added factset/factunset to set factoid meta-data; factoids now per-channel; slightly unfinished 2010-06-20 06:16:48 +00:00
Pragmatic Software
547087b81d Corrected join flood to get correct time distance between join messages 2010-06-19 19:19:56 +00:00
Pragmatic Software
fe96faded8 unban_timeouts is now a HashObject -- consequently, unban timeouts now save to and load from data file 2010-06-18 10:46:23 +00:00
Pragmatic Software
96fd2d7c7a Remove FLOOD_JOIN and FLOOD_CHAT from PBot.pm 2010-06-06 04:41:15 +00:00
Pragmatic Software
4b342be290 Add join flood protection 2010-06-05 06:07:15 +00:00
Pragmatic Software
b1c2a12500 Move $VERSION out of PBot.pm and to its own VERSION.pm module 2010-06-05 04:34:14 +00:00
Pragmatic Software
4e4574d2b6 Setting PBot.pm $VERSION from build script instead 2010-06-05 00:30:03 +00:00
Pragmatic Software
4563ca7794 Finalizing SVN auto-props Id keyword for PBot.pm $VERSION 2010-06-04 23:18:50 +00:00
Pragmatic Software
e3680adbb4 Testing SVN auto-props Id keyword for PBot.pm $VERSION 2010-06-04 23:12:32 +00:00
Pragmatic Software
d01b724427 Testing SVN auto-props for Id keyword 2010-06-04 22:55:03 +00:00
Pragmatic Software
8ebe546850 New factoid loading/saving -- much more flexible! 2010-05-08 23:36:56 +00:00
Pragmatic Software
1131ab32df Truncate long output to codepad.org 2010-04-13 04:17:54 +00:00
Pragmatic Software
87ce882450 Added username/realname to config 2010-04-09 22:52:24 +00:00
Pragmatic Software
116577aefb Ignorelist now saves/loads; ignorelist timeout of -1 causes ignore to be permanent 2010-04-06 18:38:27 +00:00
Pragmatic Software
a901a8a4c8 Correct autologin issue 2010-03-30 06:34:08 +00:00
Pragmatic Software
cd73f1104e Admins management improved. Admins now save and load, and can be added and removed. 2010-03-29 12:30:35 +00:00
Pragmatic Software
21e4415289 Improved find command by adding optional -owner and -by search parameters 2010-03-26 08:58:25 +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
bd46c11120 Half-way through converting everything to objects. Committing mostly working copy as preview. 2010-03-22 07:33:44 +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