Commit Graph

2741 Commits

Author SHA1 Message Date
Pragmatic Software bfce579480 Fix `reload banlist` 2020-05-02 02:38:39 -07:00
Pragmatic Software cfba96e8ae Rename $stuff to $context throughout 2020-05-01 20:59:51 -07:00
Pragmatic Software 195dd39330 Update version 2020-05-01 11:26:32 -07:00
Pragmatic Software 0bd2718e05 Functions: correct issue causing truncation at 0 2020-05-01 11:26:27 -07:00
Pragmatic Software 92ed6dd016 Update version 2020-05-01 09:55:19 -07:00
Pragmatic Software e155b2958e Commands: show how to add help text when help text is missing 2020-05-01 09:55:15 -07:00
Pragmatic Software 1124f4716a DualIndexSQLiteObject: add missing get_key_name() subroutine 2020-05-01 09:54:50 -07:00
Pragmatic Software b54360485d IgnoreList: correct formatting of pasted `ignore list` output 2020-05-01 09:45:38 -07:00
Pragmatic Software b9fb3dcb7d Update version 2020-04-30 14:27:16 -07:00
Pragmatic Software e071005cd4 Fix ban list type flag inconsistency due to BanList refactor 2020-04-30 14:27:10 -07:00
Pragmatic Software 54971a6051 Update version 2020-04-30 11:49:04 -07:00
Pragmatic Software 3a3ed38162 MessageHistory: correct behavior of `recall -n` without history 2020-04-30 11:48:53 -07:00
Pragmatic Software de73fa6d56 Update version 2020-04-29 20:01:57 -07:00
Pragmatic Software f23df0d4ac DualIndexSQLiteObject: quote unprepared keys 2020-04-29 20:01:49 -07:00
Pragmatic Software e1d1e83512 MessageHistory: Remove "It's a nick-change!" message 2020-04-29 19:58:15 -07:00
Pragmatic Software 91890a2d33 Update version 2020-04-29 17:49:38 -07:00
Pragmatic Software 2b0a0550b5 MessageHistory: `recall`: add -raw and -random; fix mixing -x -t and -n 2020-04-29 17:49:31 -07:00
Pragmatic Software 88a13847c8 IgnoreList: properly set global channel; fix whitespace in `ignore list` 2020-04-29 16:55:09 -07:00
Pragmatic Software 5e7955a51b Update version 2020-04-28 22:43:17 -07:00
Pragmatic Software 54a938b54d BanList: Remove repeated "ago" 2020-04-28 22:43:13 -07:00
Pragmatic Software f347d1798b Finalize BanList refactor; add updater 2020-04-28 22:36:13 -07:00
Pragmatic Software ea19abad4f Refactor BanTracker into BanList; move stuff out off ChanOps 2020-04-28 21:33:49 -07:00
Pragmatic Software 8b6b969b97 DualIndexHashObject: do not overwrite existing data when adding 2020-04-28 16:59:58 -07:00
Pragmatic Software 848a6c4e3d IRC/Event: add event 729 endofquietlist 2020-04-28 16:59:03 -07:00
Pragmatic Software 90de77e523 Users: clear user cache when rebuilding index 2020-04-28 16:18:53 -07:00
Pragmatic Software e98cd759fd Rename BanTracker to BanList 2020-04-25 20:31:48 -07:00
Pragmatic Software 381902b042 Update version 2020-04-24 23:27:10 -07:00
Pragmatic Software 3f2158cab2 Users: Fix issue with exact-match hostmasks 2020-04-24 23:27:06 -07:00
Pragmatic Software 599dab7ef6 Update version 2020-04-24 23:10:00 -07:00
Pragmatic Software 4e71cb0674 Add object name to JSON metadata when saving 2020-04-24 23:04:07 -07:00
Pragmatic Software 4fb1ed815b Users: add `id` command 2020-04-24 22:58:40 -07:00
Pragmatic Software c077410107 Update version 2020-04-24 18:17:29 -07:00
Pragmatic Software 39683e6da3 DualIndexHashObject: Fix precedence issue 2020-04-24 18:17:25 -07:00
Pragmatic Software 96b1ffde2d Update version 2020-04-24 17:28:39 -07:00
Pragmatic Software e31fe57017 Timer: `eventqueue remove` will now list removed events 2020-04-24 17:28:27 -07:00
Pragmatic Software 8d9e3da249 Major refactor of Users 2020-04-23 16:19:36 -07:00
Pragmatic Software 66f6d867e9 Remove redundant _name metadata from JSON files 2020-04-22 16:46:09 -07:00
Pragmatic Software 012f2bd061 Update version 2020-04-21 21:31:58 -07:00
Pragmatic Software b3a5637d9f Plugins: `pluglist` now shows count 2020-04-21 21:31:53 -07:00
Pragmatic Software 28da37fca5 Update version 2020-04-21 19:45:01 -07:00
Pragmatic Software f8c55355dc Add version metadata to JSON files 2020-04-21 19:44:14 -07:00
Pragmatic Software e740883430 Update version 2020-04-21 15:18:22 -07:00
Pragmatic Software 2c2d547b51 MessageHistory: Increase limits back to 100; remove "I have messages for them in ..." 2020-04-21 15:14:11 -07:00
Pragmatic Software 903d663d18 Update version 2020-04-20 17:53:45 -07:00
Pragmatic Software f6ac46956f Rename Migration to Updater 2020-04-20 17:53:32 -07:00
Pragmatic Software 340f9d9fd7 Update version 2020-04-20 10:53:43 -07:00
Pragmatic Software b9d3fa5f03 Add data/config migration framework 2020-04-20 10:53:35 -07:00
Pragmatic Software b007cb3b9d MessageHistory: Increase in-channel `recall` message limit to ~5 2020-04-19 14:47:30 -07:00
Pragmatic Software 9576c20dc4 Update version 2020-04-19 12:42:47 -07:00
Pragmatic Software 87461f38e7 MessageHistory_SQLite: replace REGEXP with LIKE 2020-04-19 12:42:44 -07:00
Pragmatic Software 700e7b3945 Update version 2020-04-19 10:25:43 -07:00
Pragmatic Software 38c080e665 MessageHistory_SQLite: Remove SQLite pcre.so extension 2020-04-19 10:25:31 -07:00
Pragmatic Software 0771552a11 DualIndexSQLiteObject: Remove unused SQLite pcre.so extension 2020-04-19 10:24:10 -07:00
Pragmatic Software 66d0369990 FactoidCommands: fix display of owner text in `factfind` 2020-04-16 20:03:59 -07:00
Pragmatic Software 88b8ecc452 Update version 2020-04-09 14:42:45 -07:00
Pragmatic Software 317ed4fe9e Update version 2020-04-05 20:33:19 -07:00
Pragmatic Software 3eac19d65e Timer: remove case-sensitivity 2020-04-05 20:33:14 -07:00
Pragmatic Software dde93db0ac ChanOps: dequeue existing identical ban/mute timeouts when adding/updating timeout 2020-04-05 16:58:56 -07:00
Pragmatic Software 7ce2eb87d2 MessageHistory: `recall` must be used via /msg if count > 2 2020-04-03 13:12:24 -07:00
Pragmatic Software ea54fad8c6 Update version 2020-03-25 00:51:57 -07:00
Pragmatic Software c88e5647e0 Interpreter: remove < and > as nick characters in dehighlight_nicks() 2020-03-25 00:51:53 -07:00
Pragmatic Software d6ca9474c3 Update version 2020-03-24 15:53:25 -07:00
Pragmatic Software 5f741ba69d Interpreter: simplify dehighlight_nicks() a bit 2020-03-24 15:53:21 -07:00
Pragmatic Software b915b7c489 Update version 2020-03-24 15:17:36 -07:00
Pragmatic Software 1cadd1d87d Interpreter: improve and optimize dehighlight_nicks() 2020-03-24 15:17:33 -07:00
Pragmatic Software 864e6853ea Update version 2020-03-23 17:49:53 -07:00
Pragmatic Software a7df1a3be7 FactoidCommands: fix `factfind` to show usage message if no arguments 2020-03-23 17:49:50 -07:00
Pragmatic Software 39d1c1e7ee Update version 2020-03-23 16:36:05 -07:00
Pragmatic Software 0b9bc60690 FactoidCommands: simplify factfind 2020-03-23 16:35:58 -07:00
Pragmatic Software 78e91c1b82 Update version 2020-03-22 15:52:50 -07:00
Pragmatic Software 8e9742a0e4 Interpreter: do not dehighlight single-letter nicks or nicks in URLs 2020-03-22 15:52:47 -07:00
Pragmatic Software 3c7ad2c529 Update version 2020-03-22 13:28:08 -07:00
Pragmatic Software 55de922aa6 AntiFlood: update last_spoken_nick properly 2020-03-22 13:28:04 -07:00
Pragmatic Software 0e1a496001 Update version 2020-03-19 18:58:27 -07:00
Pragmatic Software cac4ac81ad Factoids: Fix undo/redo via DualIndexSQLiteObject 2020-03-19 18:58:24 -07:00
Pragmatic Software f0300f873a Update version 2020-03-19 18:03:38 -07:00
Pragmatic Software 9ad611dd60 DualIndexSQLiteObject: do not return partially cached object for get_data(x, y) 2020-03-19 18:03:35 -07:00
Pragmatic Software 5e2dfff2cc Update version 2020-03-17 23:56:53 -07:00
Pragmatic Software 47661f4a21 Commands: factoid-based $variables now expand in command arguments 2020-03-17 23:56:44 -07:00
Pragmatic Software 55115d8d16 Factoids: improve "No such factoid" message when no matches found 2020-03-17 23:08:56 -07:00
Pragmatic Software 8c3f600e72 Update version 2020-03-10 01:52:36 -07:00
Pragmatic Software 85a98d5a8b Timer: update `eventqueue` usage message 2020-03-10 01:52:32 -07:00
Pragmatic Software 39cec8e35a Update version 2020-03-09 15:24:51 -07:00
Pragmatic Software d69682efc1 `eventqueue` command now accepts `-repeat` flag 2020-03-09 15:24:47 -07:00
Pragmatic Software e193fc734f Timer: use normal wildcard for `eventqueue remove` 2020-03-09 12:58:30 -07:00
Pragmatic Software 9c8da0238a MessageHistory_SQLite: give timer a more concise name 2020-03-08 22:46:02 -07:00
Pragmatic Software b5fad6c279 Revert "Timer: minor visual style change"
This reverts commit 2bd034c951.
2020-03-08 19:15:15 -07:00
Pragmatic Software 2bd034c951 Timer: minor visual style change 2020-03-08 19:11:52 -07:00
Pragmatic Software cc6fe1e4f5 Update version 2020-03-08 16:06:13 -07:00
Pragmatic Software 86a1ed42ae Timer: `eventqueue` command can now add and remove events 2020-03-08 16:05:37 -07:00
Pragmatic Software bac855c1f4 ChanOps: save permanent bans/mutes better 2020-03-07 18:19:24 -08:00
Pragmatic Software 08667eda5d Update version 2020-03-06 20:25:07 -08:00
Pragmatic Software 857021f25f Interpreter: $self is no longer passed through event queue 2020-03-06 20:23:44 -08:00
Pragmatic Software 5624d2d166 Timer: intelligently wait for next tick; `eventqueue` command can now filter 2020-03-06 20:23:17 -08:00
Pragmatic Software 471422a4f8 Update version 2020-03-06 13:31:27 -08:00
Pragmatic Software c815ccbc0d Use event queue for unban/unmute timeouts 2020-03-06 13:31:22 -08:00
Pragmatic Software f5927c8761 Interpreter: use event queue for output queue and command queue 2020-03-06 13:30:09 -08:00
Pragmatic Software 74b3f35d3e ProcessManager: properly add "can-kill" cap without triggering saving 2020-03-06 13:29:37 -08:00
Pragmatic Software 16ac6d95fb Give sensible names to various existing timers 2020-03-06 13:28:06 -08:00
Pragmatic Software e98072f98d IgnoreList: use event queue for ignore timeouts 2020-03-06 13:23:40 -08:00
Pragmatic Software 25623ac80e Timer: refactor to use event queue 2020-03-06 13:21:44 -08:00
Pragmatic Software 41728783ed AntiFlood: fix private message ignorelist 2020-03-04 18:26:39 -08:00
Pragmatic Software 326fac5a6e Update version 2020-03-04 13:25:48 -08:00
Pragmatic Software c467f92904 DualIndexHashObject: get_keys: ensure index actually exists 2020-03-04 13:25:41 -08:00
Pragmatic Software 6c4f56f9df IgnoreList: refactored to use DualIndexHashObject 2020-03-04 13:24:40 -08:00
Pragmatic Software c46783eca1 Update version 2020-03-04 09:56:29 -08:00
Pragmatic Software e28d664cd5 Factoids: /msg caller for unknown command instead of silently disregarding 2020-03-04 09:56:22 -08:00
Pragmatic Software 48361191bd DualIndexSQLiteObject: Add comment about compatibility with DualIndexHashObject 2020-03-04 05:54:20 -08:00
Pragmatic Software dc0c00e847 Update version 2020-03-03 12:51:04 -08:00
Pragmatic Software c5f137e853 FactoidCommands: optimize histogram, top20 and count 2020-03-03 12:51:00 -08:00
Pragmatic Software 82b4e51f09 DualIndexSQLiteObject: get_each(): put parentheses around related OR clauses 2020-03-03 10:10:20 -08:00
Pragmatic Software b7240d3bdc DualIndexSQLiteObject: make _sort prefix more consistent 2020-03-03 08:55:34 -08:00
Pragmatic Software 0a034814ad FactoidCommands: reinstate `regex` command 2020-03-03 07:41:07 -08:00
Pragmatic Software 3ff232decd DualIndexSQLiteObject: refactor get_each() to use array instead of hash 2020-03-03 07:40:23 -08:00
Pragmatic Software 786dfc8c6c Update version 2020-02-29 01:46:34 -08:00
Pragmatic Software 941b3327c6 Factoids: Optimize export_factoids() with get_each() and get_next() 2020-02-29 01:46:29 -08:00
Pragmatic Software 178c02de72 DualIndexSQLiteObject: replace get() with get_all(), get_each() and get_next() 2020-02-29 01:45:17 -08:00
Pragmatic Software 3ca3917891 MessageHistory: minor improvements to `recall` 2020-02-27 21:06:52 -08:00
Pragmatic Software d327d24c1c Update version 2020-02-27 20:42:22 -08:00
Pragmatic Software cb80857927 Update version 2020-02-27 11:14:50 -08:00
Pragmatic Software b178b718f0 Factoids: DualIndexSQLiteObject->get() is now powerful enough to replace FactoidsSQLite 2020-02-27 11:14:43 -08:00
Pragmatic Software 97b2394166 Update version 2020-02-26 17:51:29 -08:00
Pragmatic Software b7fcb909dc DualIndexSQLiteObject: minor improvements 2020-02-26 17:49:59 -08:00
Pragmatic Software c489b6eac7 Factoids: replace get_all_by_trigger() with DualIndexSQLiteObject->get() 2020-02-26 17:48:34 -08:00
Pragmatic Software 978fa255b2 Update version 2020-02-26 02:33:14 -08:00
Pragmatic Software 4c7b7551e2 FactoidCommands: Optimize factfind() 2020-02-26 02:32:52 -08:00
Pragmatic Software 5d3dca94b9 Factoids: Optimize find_factoid() 2020-02-26 02:32:22 -08:00
Pragmatic Software 91b2b1e7c7 MessageHistory_SQLite: move extension loading to inside eval block 2020-02-26 02:31:08 -08:00
Pragmatic Software 999ee4a33c Interpreter: Fix potential undefined variable 2020-02-26 02:30:26 -08:00
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