Commit Graph

2562 Commits

Author SHA1 Message Date
Pragmatic Software e24835ea95 Switch over to SQLite backend for Factoids 2020-02-26 02:29:02 -08:00
Pragmatic Software fb1eda51ee DualIndexHashObject needs create_metadata() for compatibility with DualIndexSQLiteObject 2020-02-26 02:24:15 -08:00
Pragmatic Software e73d890246 Add FactoidsSQLite
This is a subclass of DualIndexSQLiteObject with additional methods
specific to Factoid-related functionality.
2020-02-26 02:22:43 -08:00
Pragmatic Software c93602a34e Add DualIndexSQLiteObject
DualIndexSQLiteObject is a class that provides an interface for SQLite objects.
This interface is compatible with DualIndexHashObject.

SQLite objects are loaded on-demand when needed, unlike Hash objects which
are stored in working memory. The SQLite objects are temporarily cached in
working memory, for optimal performance.
2020-02-26 02:20:11 -08:00
Pragmatic Software d74fb24c96 PBot: cancel alarm timeout when exiting 2020-02-26 02:11:42 -08:00
Pragmatic Software 1be0c9cd0a Update version 2020-02-22 07:33:40 -08:00
Pragmatic Software 25e09e3480 FactoidCommands: prefix `factalias` return with "/say" 2020-02-21 13:42:47 -08:00
Pragmatic Software 88ddd5a4b9 ProcessManager: replace "unknown process" with "process" 2020-02-20 08:20:54 -08:00
Pragmatic Software e65dac6c1a Update version 2020-02-19 21:05:00 -08:00
Pragmatic Software e23ea61a70 Update version 2020-02-19 20:59:57 -08:00
Pragmatic Software d9d44ff4f5 Update version 2020-02-19 15:09:54 -08:00
Pragmatic Software 36579b02fe SQLiteLogger: set pbot object in class 2020-02-19 15:09:41 -08:00
Pragmatic Software 108f61d40e Interpreter: subtract IRC command length from truncation length 2020-02-19 15:07:25 -08:00
Pragmatic Software bf7979a4f1 Update version 2020-02-18 20:11:42 -08:00
Pragmatic Software 2fd0ed93ba ProcessManager: unmark $stuff as being forked once child dies 2020-02-18 20:11:39 -08:00
Pragmatic Software f13df2245a Fix incorrect truncation length when web-pasting content containing Unicode 2020-02-18 20:05:47 -08:00
Pragmatic Software 3c2a24781d Update version 2020-02-18 17:05:11 -08:00
Pragmatic Software 66fe71fc7e Update version 2020-02-18 15:06:34 -08:00
Pragmatic Software ec99b205e8 Capabilities: fix cap-overriding 2020-02-18 09:50:02 -08:00
Pragmatic Software 10a9ef465c Update version 2020-02-16 17:45:50 -08:00
Pragmatic Software dca8e4482a ProcessManager: log process start, end, and duration 2020-02-16 17:45:45 -08:00
Pragmatic Software 64ea719042 ProcessManager: remove PBot:: prefix from timed-out message 2020-02-16 16:49:10 -08:00
Pragmatic Software 891a586409 Factoids can now be run as background processes and have process-timeout override 2020-02-16 16:31:06 -08:00
Pragmatic Software a63a5308d5 Refresher: ignore more types of redefined subroutines 2020-02-16 16:12:31 -08:00
Pragmatic Software f067723c4a Update version 2020-02-16 15:57:44 -08:00
Pragmatic Software 376c077c90 FactoidCommands: fix typo 2020-02-16 15:56:43 -08:00
Pragmatic Software 7b0f192d8e ProcessManager: remove debug statement 2020-02-16 15:56:27 -08:00
Pragmatic Software eb94c566b9 ValidateString: localize $@ 2020-02-16 15:55:48 -08:00
Pragmatic Software d60270192a Update version 2020-02-16 14:13:46 -08:00
Pragmatic Software e2cb6e5d5e Replace GetOptionsFromString() with superior split_line() and GetOptionsFromArray() 2020-02-16 14:13:41 -08:00
Pragmatic Software ba065dbca8 Update version 2020-02-16 12:36:32 -08:00
Pragmatic Software a6fc2f6064 Refresher: improve error handling 2020-02-16 12:36:30 -08:00
Pragmatic Software 2524c06b65 Update version 2020-02-16 11:03:34 -08:00
Pragmatic Software 8b81873602 ProcessManager: add useful options to `ps` and `kill` 2020-02-16 11:03:25 -08:00
Pragmatic Software 212ae97122 Interpreter: minor quote change 2020-02-16 10:46:26 -08:00
Pragmatic Software 394fc4d083 Refresher: improve error handling 2020-02-16 09:51:59 -08:00
Pragmatic Software 08c1a539de RegistryCommands: fix typo in `regunset` 2020-02-16 09:29:55 -08:00
Pragmatic Software a6b2f60175 Tidy things up 2020-02-16 08:41:45 -08:00
Pragmatic Software fe56b9f0db Tidy things up 2020-02-15 15:16:38 -08:00
Pragmatic Software 5c4e10a35c Tidy things up 2020-02-15 14:38:32 -08:00
Pragmatic Software c14402dd04 Update version 2020-02-15 07:41:38 -08:00
Pragmatic Software 8232106f54 ProcessManager: properly remove completed processes 2020-02-15 07:41:35 -08:00
Pragmatic Software ecd1e4dc86 Registerable: add unregister_all() subroutine 2020-02-15 07:26:29 -08:00
Pragmatic Software edf735f88a Fix undefined variable warning 2020-02-15 07:15:26 -08:00
Pragmatic Software 58a3303173 Update version 2020-02-14 23:27:47 -08:00
Pragmatic Software a5435e03cb Commands: support process-timeout metadata 2020-02-14 23:27:44 -08:00
Pragmatic Software 7e49d65e4f Commands: rename execute-process to background-process 2020-02-14 23:17:19 -08:00
Pragmatic Software 4a2b6e18e9 Update version 2020-02-14 22:42:22 -08:00
Pragmatic Software 2ce5f8688d Commands now check for `execute-process` metadata 2020-02-14 22:42:15 -08:00
Pragmatic Software 7d2a746c2c Wait until connected before starting timer 2020-02-14 22:07:58 -08:00
Pragmatic Software 130f1ae81b ProcessManager: remove unused modules 2020-02-14 21:57:30 -08:00
Pragmatic Software 7889e654be Update version 2020-02-14 21:56:16 -08:00
Pragmatic Software 6d2221e8f0 ProcessManager: improve timed-out message 2020-02-14 21:54:38 -08:00
Pragmatic Software 681438c27d ProcessManager: execute_process() can now take a $timeout value 2020-02-14 21:25:09 -08:00
Pragmatic Software 19aff1d59d Update version 2020-02-14 20:04:19 -08:00
Pragmatic Software 1a2d4064a1 ProcessManager: clean up `kill` command; add `can-kill` to `admin` cap group 2020-02-14 20:04:14 -08:00
Pragmatic Software 42dbf468b2 ProcessManager: add `kill` command 2020-02-14 19:58:44 -08:00
Pragmatic Software dc7cdd8a2c Add ProcessManager and Modules
Improve everything to behave nicely with ProcessManager and Modules
2020-02-14 18:52:41 -08:00
Pragmatic Software f37dcaf7f9 Plugins/Wttr: Increase timeout to 30 seconds 2020-02-14 18:41:00 -08:00
Pragmatic Software 515c5c2c52 Improve PBot start-up logging; improve handling of `general.daemon` override 2020-02-14 13:32:12 -08:00
Pragmatic Software 5ce1e69b49 Rename FactoidModuleLauncher -> ProcessManager 2020-02-14 12:46:05 -08:00
Pragmatic Software ce3f8dfe0e Update version 2020-02-13 23:22:13 -08:00
Pragmatic Software 936ce8d49d Update version 2020-02-13 22:42:12 -08:00
Pragmatic Software 232546f807 Rename FuncCommands.pm to Functions.pm; Functions can now be registered 2020-02-13 22:36:05 -08:00
Pragmatic Software 2eed49a264 Update version 2020-02-13 13:46:46 -08:00
Pragmatic Software 21c1eba0a0 No longer directly access DualIndexHashObject internals 2020-02-13 13:31:36 -08:00
Pragmatic Software fae9e866ee HashObject: improve error messages for removing non-existing items 2020-02-11 22:56:42 -08:00
Pragmatic Software afe4638b0a No longer directly access HashObject internals 2020-02-11 21:49:43 -08:00
Pragmatic Software 382d15b975 PBot: `reload`: replace whitelist with ban-exemptions 2020-02-11 21:19:31 -08:00
Pragmatic Software bee6e18b8e PBot: capabilities can now be reloaded 2020-02-11 21:14:27 -08:00
Pragmatic Software 3be1299dd3 Capabilities: `cap userhas` now finds any channel from /msg 2020-02-10 14:55:14 -08:00
Pragmatic Software dea1d8469d Update version 2020-02-10 14:52:05 -08:00
Pragmatic Software 213740316a Capabilities: minor fix to `cap userhas` 2020-02-10 14:52:01 -08:00
Pragmatic Software 1c7ead9953 Users: actually, make $any_channel less any channel 2020-02-10 14:46:43 -08:00
Pragmatic Software eb40f3b2cd Update version 2020-02-10 14:42:33 -08:00
Pragmatic Software 95a4c9114c Commands: improve output of user account errors 2020-02-10 14:42:29 -08:00
Pragmatic Software 6b6dfa9c53 Users: make any channel more any channel 2020-02-10 14:41:54 -08:00
Pragmatic Software 94ee5f03a5 Correct user cross-channel contamination 2020-02-10 14:31:28 -08:00
Pragmatic Software cb0b39a0e5 Update version 2020-02-10 01:29:31 -08:00
Pragmatic Software 0abdb8c84e Interpreter: use command/factoid metadata to toggle pronoun replacement and self-protection 2020-02-10 01:07:30 -08:00
Pragmatic Software 224ace9e80 Factoids: add get_meta() 2020-02-10 01:06:38 -08:00
Pragmatic Software d0d1ae5194 Users: `users` command now strictly filters to channel argument if provided 2020-02-10 00:17:31 -08:00
Pragmatic Software 12be1e87dd Capabilities: `cap group` and `cap ungroup` now accept multiple capabilities 2020-02-10 00:11:57 -08:00
Pragmatic Software 70abebeb90 Update version 2020-02-09 21:30:57 -08:00
Pragmatic Software 1f94973bd2 Users: improve find_user 2020-02-09 21:30:55 -08:00
Pragmatic Software cfc3ad855f Users: `my`: lock chanop and admin capabilities behind admin capability 2020-02-09 21:08:52 -08:00
Pragmatic Software 90a5c47f4b Update version 2020-02-09 20:58:31 -08:00
Pragmatic Software 04f624729a Users: `my` command now properly finds user account in other channels 2020-02-09 20:55:30 -08:00
Pragmatic Software 9afb8c506d Users: improve find_user_account 2020-02-09 20:38:44 -08:00
Pragmatic Software c9fed700ef Users: `my` command is now aware of is- capabilities 2020-02-09 20:18:55 -08:00
Pragmatic Software 3c3e642bb9 Users: fix undefined value warning 2020-02-09 20:16:29 -08:00
Pragmatic Software 1c779195b5 Capabilities: improve output of `cap whohas` 2020-02-09 19:32:52 -08:00
Pragmatic Software 0848c5752f Add built-in `users` command 2020-02-09 19:29:32 -08:00
Pragmatic Software 55d7561479 AntiFlood: remove "user is whitelisted" log message 2020-02-09 19:29:06 -08:00
Pragmatic Software c4b71347bf Whitelist is now a user-capability
Rework ban-whitelist to ban-exemptions
2020-02-09 16:20:58 -08:00
Pragmatic Software f32dec200b Plugins: minor style clean-up 2020-02-09 13:10:34 -08:00
Pragmatic Software 6d6689b06e Class: minor grammar fix 2020-02-09 13:10:07 -08:00
Pragmatic Software 8c654bb956 Util/LWPUserAgentCached: minor style clean-up 2020-02-08 20:53:05 -08:00
Pragmatic Software c6f3a9aab4 Util/LWPUserAgentCached: minor style clean-up 2020-02-08 20:49:14 -08:00
Pragmatic Software 81b9a11ccb Update version 2020-02-08 19:48:07 -08:00
Pragmatic Software e58044f2f1 NickList: fix undefined value warning 2020-02-08 15:11:29 -08:00
Pragmatic Software f698840bd0 Update version 2020-02-08 14:42:23 -08:00
Pragmatic Software 525b2ee056 Interpreter: do not dehighlight nicks that are followed by a colon 2020-02-08 14:42:20 -08:00
Pragmatic Software 30494e54b2 Update version 2020-02-08 11:05:20 -08:00
Pragmatic Software 02f93c8721 Significant refactor and clean-up of PBot class instantiation 2020-02-08 11:04:13 -08:00
Pragmatic Software 78a0f32e17 Update version 2020-02-07 20:48:14 -08:00
Pragmatic Software bcacab7af2 EventDispatcher: use most recent caller frame to determine package 2020-02-07 20:45:29 -08:00
Pragmatic Software dae922bae2 Update version 2020-02-07 12:24:23 -08:00
Pragmatic Software cf9c45f3e9 EventDispatcher: can now unregister handlers 2020-02-07 12:12:55 -08:00
Pragmatic Software 270df1551f Update version 2020-02-07 11:22:19 -08:00
Pragmatic Software 57a706ab48 Update version 2020-02-06 10:47:39 -08:00
Pragmatic Software d4bd248f9d Interpreter: clean up nick-dehighlighter 2020-02-06 10:47:34 -08:00
Pragmatic Software d9aa585949 NickList: add get_nicks() function 2020-02-06 10:47:19 -08:00
Pragmatic Software 2de9ad516f Update version 2020-02-06 04:01:44 -08:00
Pragmatic Software d38402754e Interpreter: minor bugfix 2020-02-06 04:01:41 -08:00
Pragmatic Software f7d3c7b755 Update version 2020-02-06 03:49:37 -08:00
Pragmatic Software c7c0b49515 Interpreter: preserve case of dehighlight 2020-02-06 03:49:33 -08:00
Pragmatic Software c3369f7bea Update version 2020-02-06 03:37:14 -08:00
Pragmatic Software 2f11ae7114 Interpreter: case-insensitive dehighlight 2020-02-06 03:37:07 -08:00
Pragmatic Software 1a2d463f5b Interpreter: minor clean-up 2020-02-06 03:29:48 -08:00
Pragmatic Software d5ec26c8b3 Interpreter: whoops 2020-02-06 03:26:35 -08:00
Pragmatic Software 405cceb77f Update version 2020-02-06 03:14:16 -08:00
Pragmatic Software 9811bf3ff7 Interpreter: dehighlight nicks before outputting messages 2020-02-06 03:14:14 -08:00
Pragmatic Software c0b401c281 Capabilities: use correct channel name 2020-02-06 02:24:43 -08:00
Pragmatic Software 62e2207527 Update version 2020-02-06 02:20:50 -08:00
Pragmatic Software 569e42cac0 Capabilities: add `cap whohas` 2020-02-06 02:20:47 -08:00
Pragmatic Software 4583a1e52a Update version 2020-02-06 01:17:22 -08:00
Pragmatic Software b82dd92278 Users: restore missing join handler 2020-02-06 01:17:09 -08:00
Pragmatic Software 63f6ccb80c Remove unnecessary use of delete keyword 2020-02-06 01:14:08 -08:00
Pragmatic Software 6424e7c601 Remove unnecessary return statements 2020-02-06 01:07:44 -08:00
Pragmatic Software 03c5418718 Update version 2020-02-05 22:33:02 -08:00
Pragmatic Software b33971c820 Improvements to capabilities 2020-02-05 22:32:58 -08:00
Pragmatic Software 1016dd678f Commands: fix typo 2020-02-05 18:30:34 -08:00
Pragmatic Software bf05a8cb57 Update version 2020-02-05 18:29:02 -08:00
Pragmatic Software 97a913ef32 Add more capabilities to default groups 2020-02-05 17:55:31 -08:00
Pragmatic Software 0656c7841d Update version 2020-02-05 17:39:15 -08:00
Pragmatic Software 176a7b6192 ChanOpCommands: `op`, `voice`, `kick` wildcards now restricted by capabilities 2020-02-05 17:38:56 -08:00
Pragmatic Software a02e20da77 ChanOpCommands: `unban *` and `unmute *` now restricted by capabilities 2020-02-05 17:12:57 -08:00
Pragmatic Software 04585d3ae1 ChanOpCommands: `unban *` and `unmute *` now clears banlists; clean-up output of `ban` and `mute` with multiple targets 2020-02-05 17:03:39 -08:00
Pragmatic Software d11cfa8362 Update version 2020-02-05 01:49:02 -08:00
Pragmatic Software 6d9179913f AntiFlood: less verbose logging of check_ban 2020-02-05 01:48:56 -08:00
Pragmatic Software 61f13f6b40 IRCHandlers: remove trailing space when setting mode without target 2020-02-05 01:41:09 -08:00
Pragmatic Software 2c9f805f4d IRCHandlers: cleaned up mode log output 2020-02-05 01:26:22 -08:00
Pragmatic Software 47687f9e4f Interpreter: remove unnecessary slash 2020-02-05 01:21:00 -08:00
Pragmatic Software 4432338515 Update version 2020-02-05 01:18:50 -08:00
Pragmatic Software 96c5f0dfb1 AntiFlood: do not check botowner for ban-evasion 2020-02-05 01:18:47 -08:00
Pragmatic Software 6ff93c0190 Interpreter: no need to use regex here 2020-02-05 01:13:46 -08:00
Pragmatic Software 0a278a743c Update version 2020-02-05 01:09:45 -08:00
Pragmatic Software 3162660cf9 Significant clean-up of log output for command invocations 2020-02-05 01:09:43 -08:00
Pragmatic Software 52509f1786 RegistryCommands: `regset` value argument now optional; shows value if omitted 2020-02-04 21:51:27 -08:00