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
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