3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-27 06:19:25 +01:00
Commit Graph

1377 Commits

Author SHA1 Message Date
Pragmatic Software
05c47bc675 Uppercase only type, not args, in ActionTrigger departure handler 2017-08-15 20:12:07 -07:00
Pragmatic Software
dc69010cad Update version 2017-08-12 23:43:42 -07:00
Pragmatic Software
c60f344bd1 Add ActionTrigger plugin 2017-08-12 23:43:36 -07:00
Pragmatic Software
63bbcb0941 Handle command queue results 2017-08-12 23:42:56 -07:00
Pragmatic Software
7b99c90429 Show repeats remaining in listing 2017-08-12 23:41:09 -07:00
Pragmatic Software
51f36df8ff Update version 2017-08-12 16:18:29 -07:00
Pragmatic Software
669733f353 Add repeatable reminders; misc sanity checks 2017-08-12 16:18:25 -07:00
Pragmatic Software
1f212c1886 Update version 2017-08-12 04:43:11 -07:00
Pragmatic Software
4cb7c30dd3 Delete reminders that have expired (remindee not around for 31 days) 2017-08-12 04:43:07 -07:00
Pragmatic Software
d104005ee9 Update version 2017-08-12 04:06:37 -07:00
Pragmatic Software
fa55b36d09 Remove left-over superflurous declaration 2017-08-12 04:06:33 -07:00
Pragmatic Software
4724057860 Update version 2017-08-12 04:03:41 -07:00
Pragmatic Software
0a1d529434 RemindMe now supports listing and deleting reminders; added some sanity checking 2017-08-12 04:03:37 -07:00
Pragmatic Software
f1e2b139d9 Update version 2017-08-12 01:29:08 -07:00
Pragmatic Software
97aae4bddc Prepend channel name to factshow output if belongs to different channel 2017-08-12 01:28:55 -07:00
Pragmatic Software
f3d84931b1 Add ability to check if a nick is present in any channels 2017-08-12 01:28:23 -07:00
Pragmatic Software
a904fbdccb Update version 2017-08-12 01:24:44 -07:00
Pragmatic Software
3e6e56d2e5 Extremely basic rudimentary RemindMe plugin (work-in-progress) 2017-08-12 01:24:26 -07:00
Pragmatic Software
3299944e9b Update version 2017-08-09 01:22:16 -07:00
Pragmatic Software
dc7406ccb8 Fix a couple of keys on scalar 2017-08-09 01:22:13 -07:00
Pragmatic Software
b24cd5b238 Update version 2017-08-08 21:18:50 -07:00
Pragmatic Software
c8fa308113 Fix harmless undefined variable warning 2017-08-08 21:18:45 -07:00
Pragmatic Software
c3067533b2 Enable getopt bundling for recall 2017-08-08 21:18:29 -07:00
Pragmatic Software
485ccf689c Fix factadd and factchange optional channel parameter behavior 2017-08-08 21:18:00 -07:00
Pragmatic Software
334b414f7d Whoops, extraneous "my" harmlessly overshadows a variable. Fixed. 2017-08-08 21:17:11 -07:00
Pragmatic Software
74e3a03d42 Update version 2017-08-05 21:38:49 -07:00
Pragmatic Software
1158e3e815 Add ability to reload various config/data files 2017-08-05 21:38:46 -07:00
Pragmatic Software
93a482490d Ensure version factoid is always created after load() 2017-08-05 20:25:26 -07:00
Pragmatic Software
16f34026da Add ability to clear DualIndexHashObject 2017-08-05 20:15:15 -07:00
Pragmatic Software
e5bd377477 Add ability to clear HashObject; rename load/save 2017-08-05 20:14:49 -07:00
Pragmatic Software
aa65839827 Don't use keys on scalar 2017-08-05 20:10:54 -07:00
Pragmatic Software
62de9fd223 Update version 2017-08-05 05:58:49 -07:00
Pragmatic Software
0e62ae65b0 Correct behavior for exceeding allowed unbanmes 2017-08-05 05:58:45 -07:00
Pragmatic Software
1d0ec55e60 Update version 2017-08-05 05:31:49 -07:00
Pragmatic Software
121b264cef unbanme now automatically finds all appropriate channel bans, no need to specify channel parameter 2017-08-05 05:31:46 -07:00
Pragmatic Software
b66bac2359 Use concise duration for recall timestamp 2017-08-04 21:05:55 -07:00
Pragmatic Software
381b4bee4b Use Time::Duration for rate_limit message 2017-08-04 21:05:31 -07:00
Pragmatic Software
5ac5229bf3 Update version 2017-08-03 23:19:10 -07:00
Pragmatic Software
53c6177801 Restore immediately functionality to unban/unmute 2017-08-03 23:19:02 -07:00
Pragmatic Software
1dcbcef14a Update version 2017-08-03 16:15:57 -07:00
Pragmatic Software
45c47aaea7 Remove explicit check if command exists when looking for existing factoids 2017-08-03 16:15:52 -07:00
Pragmatic Software
7aa9c4f182 Update version 2017-08-03 15:21:48 -07:00
Pragmatic Software
68821bb0f8 BlackList now respects channel for $a: and $r: 2017-08-03 15:21:46 -07:00
Pragmatic Software
9bd80687b1 Update version 2017-08-03 14:13:32 -07:00
Pragmatic Software
1d79e5f46d Oops, return SOMETHING from sl 2017-08-03 14:13:29 -07:00
Pragmatic Software
ea991fc33b Update version 2017-08-03 13:41:09 -07:00
Pragmatic Software
3d49883104 Add magic command 2017-08-03 13:40:54 -07:00
Pragmatic Software
20eed129e2 Update version 2017-08-03 13:30:45 -07:00
Pragmatic Software
2746c14f7c Improved unban queue handling 2017-08-03 13:30:42 -07:00
Pragmatic Software
53ffb271b3 Commands no longer case-sensitive 2017-08-03 13:30:18 -07:00
Pragmatic Software
2236a00877 Remove "Sent." message from sl 2017-08-03 13:29:41 -07:00
Pragmatic Software
a76713a612 Match channel exactly in blacklist 2017-08-03 13:29:20 -07:00
Pragmatic Software
9864ce09ae Factoid doesn't have effective-level, not the bot itself... 2017-08-03 13:28:52 -07:00
Pragmatic Software
c9c39673d8 Update version 2017-08-01 21:37:21 -07:00
Pragmatic Software
4f628b4cd7 AntiTwitter nicks now case-insensitive... whoops! 2017-08-01 21:37:00 -07:00
Pragmatic Software
85d74f53b1 Message history improvements 2017-08-01 21:36:31 -07:00
Pragmatic Software
b932fe73eb Move WHO stuff to IRCHandlers.pm 2017-08-01 21:35:56 -07:00
Pragmatic Software
e723379c4d Improve the bot's understanding of "me" and "my" 2017-08-01 21:34:57 -07:00
Pragmatic Software
74fe574332 Make channel argument optional for factadd, factrem and factchange (other fact commands eventually...) 2017-08-01 21:33:57 -07:00
Pragmatic Software
121de07ae2 Whoops, attempted to modify current $action in loop 2017-08-01 21:31:58 -07:00
Pragmatic Software
06eb50736d Update version 2017-06-19 18:21:53 -07:00
Pragmatic Software
f3620ddd90 Normalize /session hostmasks 2017-06-19 18:21:47 -07:00
Pragmatic Software
aadc829865 Update version 2017-06-19 00:37:38 -07:00
Pragmatic Software
9344c19003 Oops, add IF NOT EXISTS to index creation 2017-06-19 00:37:32 -07:00
Pragmatic Software
ef6c44f17d Update version 2017-06-18 03:45:38 -07:00
Pragmatic Software
cfba69b09f Minor correction of a log message 2017-06-18 03:45:35 -07:00
Pragmatic Software
6a64907bd2 Update version 2017-06-18 03:40:58 -07:00
Pragmatic Software
fa854c087f Normalize x-random hostmasks with user field to not pollute message database
Significant optimizations to message database structure and queries
2017-06-18 03:40:51 -07:00
Pragmatic Software
cc3154a2c6 Flag SQLite queries that take more than 100ms to complete, if SQL logging is enabled 2017-06-18 03:37:01 -07:00
Pragmatic Software
c8d2f8e632 Update version 2017-06-11 23:33:42 -07:00
Pragmatic Software
c2ed83b8a0 Optimize some message history SQL 2017-06-11 23:33:38 -07:00
Pragmatic Software
caf254ab73 Update version 2017-06-07 19:31:14 -07:00
Pragmatic Software
8612b7c210 Update version 2017-05-23 17:05:31 -07:00
Pragmatic Software
29f6510ec2 Check for existing temp ban before temp-banning 2017-05-23 17:05:25 -07:00
Pragmatic Software
7357ba706e Update version 2017-05-21 02:23:21 -07:00
Pragmatic Software
ac246dbdef Increase timer resolution from 10 seconds to 1 second 2017-05-21 02:23:15 -07:00
Pragmatic Software
2d85b14b2e Add ircd config mapping; automatically unban certain types of bans after 7 days 2017-05-21 02:20:44 -07:00
Pragmatic Software
35b1c13012 Make certain unban actions immediate instead of using unban queue 2017-05-21 02:18:44 -07:00
Pragmatic Software
414b11f787 Make unban queue more robust; allow immediate unban/unmute too 2017-05-21 02:18:00 -07:00
Pragmatic Software
3cd63f5161 Update version 2017-05-20 23:48:35 -07:00
Pragmatic Software
461f1a3066 Use unban queue to group multiple -b/-q into a single command, with a delay between multiple commands 2017-05-20 23:48:03 -07:00
Pragmatic Software
a219f3d9a7 AntiTwitter: use more restrictive nick-similarity value 2017-05-20 23:45:30 -07:00
Pragmatic Software
373ebc03b3 Improve is_present_similiar to accept custom similarity values 2017-05-20 23:44:45 -07:00
Pragmatic Software
f5be26a98c Use arg bundling for aka 2017-05-20 23:43:34 -07:00
Pragmatic Software
f2f88d9caf Update version 2017-05-14 05:45:52 -07:00
Pragmatic Software
08ac91f11b Update version 2017-05-14 01:39:07 -07:00
Pragmatic Software
5bc65c9f67 Update version 2017-05-13 23:57:23 -07:00
Pragmatic Software
05f27d0c8f Update version 2017-05-13 23:43:05 -07:00
Pragmatic Software
69f2f5477a Update version 2017-04-10 19:57:39 -07:00
Tomasz Kramkowski
382e47d971 Fix "keys on scalar" deprecation warning on newer perl. (#3)
This patch fixes the warning "Experimental keys on scalar is now
forbidden" which appears when running pbot on newer versions of perl.
2017-04-10 19:55:52 -07:00
Pragmatic Software
f65f6df116 Update version 2017-04-10 19:47:48 -07:00
Pragmatic Software
d29dcc3765 Slightly improve recall 2017-04-10 19:35:14 -07:00
Pragmatic Software
15c17744ba Comment out some verbose log messages 2017-04-10 19:35:14 -07:00
Pragmatic Software
0697035284 Improve error message for ParseDate 2017-04-10 19:35:14 -07:00
Pragmatic Software
be80680626 Improve twit detection 2017-04-10 19:35:14 -07:00
Pragmatic Software
a21b27a11f $randomnick now limited to nicks who have spoken in last 2 hours 2017-04-10 19:35:14 -07:00
Pragmatic Software
cf4478c1a4 Minor bug/typo fixes 2017-04-10 19:35:14 -07:00
Tomasz Kramkowski
b5d8f72254 License project under MPL2
This patch adds the file LICENSE which is the verbatim copy of the
Mozilla Public License Version 2.0 as retreived from
https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt on
2017-03-05.

This patch also places license headers for the MPL2 type A variant of
the license header in the following files:

PBot/AntiFlood.pm
PBot/BanTracker.pm
PBot/BlackList.pm
PBot/BotAdminCommands.pm
PBot/BotAdmins.pm
PBot/ChanOpCommands.pm
PBot/ChanOps.pm
PBot/Channels.pm
PBot/Commands.pm
PBot/DualIndexHashObject.pm
PBot/EventDispatcher.pm
PBot/FactoidCommands.pm
PBot/FactoidModuleLauncher.pm
PBot/Factoids.pm
PBot/HashObject.pm
PBot/IRCHandlers.pm
PBot/IgnoreList.pm
PBot/IgnoreListCommands.pm
PBot/Interpreter.pm
PBot/LagChecker.pm
PBot/Logger.pm
PBot/MessageHistory.pm
PBot/MessageHistory_SQLite.pm
PBot/NickList.pm
PBot/PBot.pm
PBot/Plugins.pm
PBot/Plugins/AntiAway.pm
PBot/Plugins/AntiKickAutoRejoin.pm
PBot/Plugins/AntiRepeat.pm
PBot/Plugins/AntiTwitter.pm
PBot/Plugins/AutoRejoin.pm
PBot/Plugins/Counter.pm
PBot/Plugins/Quotegrabs.pm
PBot/Plugins/Quotegrabs/Quotegrabs_Hashtable.pm
PBot/Plugins/Quotegrabs/Quotegrabs_SQLite.pm
PBot/Plugins/UrlTitles.pm
PBot/Plugins/_Example.pm
PBot/Refresher.pm
PBot/Registerable.pm
PBot/Registry.pm
PBot/RegistryCommands.pm
PBot/SQLiteLogger.pm
PBot/SQLiteLoggerLayer.pm
PBot/SelectHandler.pm
PBot/StdinReader.pm
PBot/Timer.pm
PBot/Utils/ParseDate.pm
PBot/VERSION.pm
build/update-version.pl
modules/acronym.pl
modules/ago.pl
modules/c11std.pl
modules/c2english.pl
modules/c2english/CGrammar.pm
modules/c2english/c2eng.pl
modules/c99std.pl
modules/cdecl.pl
modules/cfaq.pl
modules/cjeopardy/IRCColors.pm
modules/cjeopardy/QStatskeeper.pm
modules/cjeopardy/Scorekeeper.pm
modules/cjeopardy/cjeopardy.pl
modules/cjeopardy/cjeopardy_answer.pl
modules/cjeopardy/cjeopardy_filter.pl
modules/cjeopardy/cjeopardy_hint.pl
modules/cjeopardy/cjeopardy_qstats.pl
modules/cjeopardy/cjeopardy_scores.pl
modules/cjeopardy/cjeopardy_show.pl
modules/codepad.pl
modules/compiler_block.pl
modules/compiler_client.pl
modules/compiler_vm/Diff.pm
modules/compiler_vm/cc
modules/compiler_vm/compiler_client.pl
modules/compiler_vm/compiler_server.pl
modules/compiler_vm/compiler_server_vbox_win32.pl
modules/compiler_vm/compiler_server_watchdog.pl
modules/compiler_vm/compiler_vm_client.pl
modules/compiler_vm/compiler_vm_server.pl
modules/compiler_vm/compiler_watchdog.pl
modules/compiler_vm/languages/_c_base.pm
modules/compiler_vm/languages/_default.pm
modules/compiler_vm/languages/bash.pm
modules/compiler_vm/languages/bc.pm
modules/compiler_vm/languages/bf.pm
modules/compiler_vm/languages/c11.pm
modules/compiler_vm/languages/c89.pm
modules/compiler_vm/languages/c99.pm
modules/compiler_vm/languages/clang.pm
modules/compiler_vm/languages/clang11.pm
modules/compiler_vm/languages/clang89.pm
modules/compiler_vm/languages/clang99.pm
modules/compiler_vm/languages/clangpp.pm
modules/compiler_vm/languages/clisp.pm
modules/compiler_vm/languages/cpp.pm
modules/compiler_vm/languages/freebasic.pm
modules/compiler_vm/languages/go.pm
modules/compiler_vm/languages/haskell.pm
modules/compiler_vm/languages/java.pm
modules/compiler_vm/languages/javascript.pm
modules/compiler_vm/languages/ksh.pm
modules/compiler_vm/languages/lua.pm
modules/compiler_vm/languages/perl.pm
modules/compiler_vm/languages/python.pm
modules/compiler_vm/languages/python3.pm
modules/compiler_vm/languages/qbasic.pm
modules/compiler_vm/languages/scheme.pm
modules/compiler_vm/languages/server/_c_base.pm
modules/compiler_vm/languages/server/_default.pm
modules/compiler_vm/languages/server/c11.pm
modules/compiler_vm/languages/server/c89.pm
modules/compiler_vm/languages/server/c99.pm
modules/compiler_vm/languages/server/clang.pm
modules/compiler_vm/languages/server/clang11.pm
modules/compiler_vm/languages/server/clang89.pm
modules/compiler_vm/languages/server/clang99.pm
modules/compiler_vm/languages/server/cpp.pm
modules/compiler_vm/languages/server/freebasic.pm
modules/compiler_vm/languages/server/haskell.pm
modules/compiler_vm/languages/server/java.pm
modules/compiler_vm/languages/server/qbasic.pm
modules/compiler_vm/languages/server/tendra.pm
modules/compiler_vm/languages/sh.pm
modules/compiler_vm/languages/tendra.pm
modules/compliment
modules/cstd.pl
modules/define.pl
modules/dice_roll.pl
modules/excuse.sh
modules/expand_macros.pl
modules/fnord.pl
modules/funnyish_quote.pl
modules/g.pl
modules/gdefine.pl
modules/gen_cfacts.pl
modules/gencstd.pl
modules/get_title.pl
modules/getcfact.pl
modules/google.pl
modules/gspy.pl
modules/gtop10.pl
modules/gtop15.pl
modules/headlines.pl
modules/horoscope
modules/horrorscope
modules/ideone.pl
modules/insult.pl
modules/love_quote.pl
modules/man.pl
modules/map.pl
modules/math.pl
modules/prototype.pl
modules/qalc.pl
modules/random_quote.pl
modules/seen.pl
modules/urban
modules/weather.pl
modules/wikipedia.pl
pbot.pl
pbot.sh

It is highly recommended that this list of files is reviewed to ensure
that all files are the copyright of the sole maintainer of the
repository. If any files with license headers contain the intellectual
property of anyone else, it is recommended that a request is made to
revise this patch or that the explicit permission of the co-author is
gained to allow for the license of the work to be changed.

I (Tomasz Kramkowski), the contributor, take no responsibility for any
legal action taken against the maintainer of this repository for
incorrectly claiming copyright to any work not owned by the maintainer
of this repository.
2017-03-06 00:31:15 +00:00
Pragmatic Software
210099f4e3 Update version 2017-03-03 11:42:43 -08:00
Pragmatic Software
0e24a3758f unban by nick will now go through all akas for matching bans 2017-03-03 11:42:39 -08:00
Pragmatic Software
608130395d Update version 2017-02-27 04:47:02 -08:00
Pragmatic Software
71fabfc0ea Update version 2017-02-22 12:09:11 -08:00
Pragmatic Software
75ca6d61a8 Make AntiTwitter more robust 2017-02-22 12:09:06 -08:00
Pragmatic Software
0685843e3f Update version 2017-02-22 04:18:29 -08:00
Pragmatic Software
9621c6ffbe AntiTwitter: Warn twice before tempban; add logging 2017-02-22 04:18:26 -08:00
Pragmatic Software
30eba50bdc Update version 2017-02-21 05:50:06 -08:00
Pragmatic Software
1e4e101386 Update version 2017-02-21 05:37:48 -08:00
Pragmatic Software
5efc55c306 Ignore interpreted messages in AntiTwitter 2017-02-21 05:37:43 -08:00
Pragmatic Software
6c1e15db80 Update version 2017-02-21 05:26:30 -08:00
Pragmatic Software
aac788831a Only one punishment per message! 2017-02-21 05:26:26 -08:00
Pragmatic Software
b1432a8112 Update version 2017-02-21 05:20:23 -08:00
Pragmatic Software
ca4be630ea Add AntiTwitter plugin 2017-02-21 05:20:17 -08:00
Pragmatic Software
4591e8639b Update version 2017-02-20 18:08:44 -08:00
Pragmatic Software
282d97936f Update version 2017-01-29 18:01:33 -08:00
Pragmatic Software
85b8915494 Fixed some stuff 2017-01-29 18:01:26 -08:00
Pragmatic Software
63f1f973b0 Add missing return 0 to event handler 2016-12-16 19:22:42 -08:00
Pragmatic Software
c78dbbb911 Check for value of key instead of existence in loggedin() 2016-12-16 19:20:57 -08:00
Pragmatic Software
be2e568066 Update version 2016-12-13 15:42:56 -08:00
Pragmatic Software
ca36ee00cd Ignore nicks that have not had activity in the last 1 hour when looking for similar nicks; add nicks to NickList when updating activity if they do not exist yet 2016-12-13 15:42:50 -08:00
Pragmatic Software
3c60a8452c Update version 2016-12-09 15:31:41 -08:00
Pragmatic Software
50c5c15fbd recall now skips nick-prefix and botnick-postfix messages 2016-12-09 15:31:36 -08:00
Pragmatic Software
534523287b Update version 2016-12-06 20:47:29 -08:00
Pragmatic Software
2cc4302c0b Update version 2016-12-04 22:00:55 -08:00
Pragmatic Software
c2a2debf3e Nick-floods are now once again detected 2016-12-04 22:00:50 -08:00
Pragmatic Software
4d2a89987b Update version 2016-12-01 05:19:04 -08:00
Pragmatic Software
ba7149f518 Add missing parentheses to recently added SQL statements 2016-12-01 05:18:56 -08:00
Pragmatic Software
af02bc43d3 Update version 2016-12-01 05:05:10 -08:00
Pragmatic Software
a4d23bc445 Er, use OR instead of AND... 2016-12-01 05:05:07 -08:00
Pragmatic Software
9eca3d5adc Update version 2016-12-01 04:57:28 -08:00
Pragmatic Software
d47edc100b Improve robustness of message history tracking 2016-12-01 04:57:25 -08:00
Pragmatic Software
a5260ef056 Update version 2016-11-30 20:57:28 -08:00
Pragmatic Software
ff51114a4f Missed a couple of account/ancestor replacements for nick-changes 2016-11-30 20:57:26 -08:00
Pragmatic Software
961f54f261 Update version 2016-11-30 09:28:36 -08:00
Pragmatic Software
3091516cc6 Reduce scope of $ancestor to nick-changes only
Move message account debug log messages behind a debug toggle
2016-11-30 09:28:19 -08:00
Pragmatic Software
8ba4ffffe4 More robust coverage of aliases when managing message history accounts
When adding a new unknown hostmask to the message history accounts, we now
take significant advantage of the aliases table to find an existing account
id for the hostmask before assigning it a new account id.

Likewise, we now take significant advantage of the aliases table when looking
for a nick-change match.

Fix misc channel case-sensitivity issues, add missing last-seen hostmask
updates, reduce message account linking log verbosity level.
2016-11-29 01:50:49 -08:00
Pragmatic Software
bbf45a3fab Fix potential channel name case-sensitivity issues; misc minor fixes 2016-11-29 01:44:31 -08:00
Pragmatic Software
3537b74877 Update last_seen hostmask field in WHO replies 2016-11-29 01:43:11 -08:00
Pragmatic Software
5012886d71 Update version 2016-11-28 12:15:32 -08:00
Pragmatic Software
ecd5feced1 AntiKickAutoRejoin: Fix channel case-sensitivity discrepancy and ignore roulette kicks (*BANG!*) 2016-11-28 12:15:26 -08:00
Pragmatic Software
31cb645f30 Update version 2016-11-17 18:34:15 -08:00
Pragmatic Software
a5bb523f96 Make secret stuff more secret 2016-11-17 18:34:11 -08:00
Pragmatic Software
e37b48822b Update version 2016-11-17 15:57:53 -08:00
Pragmatic Software
df8e15b39e Fix factlog for deleted factoids not in global channel 2016-11-17 15:57:48 -08:00
Pragmatic Software
107b4e9883 Update version 2016-11-16 19:15:50 -08:00
Pragmatic Software
3fbefa6746 Put some alias linking messages behind a debug toggle 2016-11-16 19:15:45 -08:00
Pragmatic Software
5d3298462a Add error messages to a couple of commands 2016-11-16 19:14:39 -08:00
Pragmatic Software
0e4f2d1447 Minor effective-level /kick derp 2016-11-16 19:14:00 -08:00
Pragmatic Software
fdf529f2ae Update version 2016-11-16 19:07:04 -08:00
Pragmatic Software
f3b3e90cdc Add factoid effective-level metadata and ability to kick from such factoids
Factoids can now have an effective-level metadata field. When set, certain
functionality requiring an effective-level will be enabled.

For now, that is currently only the /kick command, which has an effective-level
of 10.

Factoids with an effective-level set will also have the locked metadata
attribute set as well to prevent people from changing the factoid.  The
locked and/or effective-level attributes will be removable only by admins
whose level is equal to or greater than the effective-level.
2016-11-16 19:07:01 -08:00
Pragmatic Software
39399e78ae Allow debug tracing of event handlers; don't remove handlers on error 2016-11-16 18:59:13 -08:00