Pragmatic Software
0272a457d3
Read-only fact* commands no longer require explicit channel confirmation
2017-08-30 22:54:38 -07:00
Pragmatic Software
9c3097b8f9
Remove unused legacy list messages
functionality
2017-08-30 22:23:35 -07:00
Pragmatic Software
0fd81482d7
Follow factoid aliases when checking for use_output_queue
2017-08-30 18:03:10 -07:00
Pragmatic Software
08b28cf6c2
No longer discard "0" valued arguments from find_factoid_with_optional_args
2017-08-30 17:51:42 -07:00
Pragmatic Software
bbb52f99e9
Do not move factlog between channels any longer
2017-08-30 16:07:33 -07:00
Pragmatic Software
8dc7d6554c
Correct minor typo
2017-08-30 06:55:57 -07:00
Pragmatic Software
b0b1d1affa
Fix incorrect fact_find in interpreter
2017-08-30 06:54:23 -07:00
Pragmatic Software
3b93d6c281
Escape single-quotes before using GetOptionsFromString and shellwords
2017-08-30 02:12:05 -07:00
Pragmatic Software
3a4eb4e5f5
Update version
2017-08-28 23:16:13 -07:00
Pragmatic Software
3d7388b402
Correct expansion of $nick and $args and such
2017-08-28 23:15:57 -07:00
Pragmatic Software
9fbafec4fd
factundo/factredo now show modifications
2017-08-28 23:14:32 -07:00
Pragmatic Software
9b1cdffa6b
Prevent access to undefined db handle
2017-08-28 13:53:03 -07:00
Pragmatic Software
d638370cdc
Update version
2017-08-27 20:40:52 -07:00
Pragmatic Software
25e104732e
Whoops, don't add an $ to $0 expansion, use $0 in factoids and $$0 for factoid variables instead
2017-08-27 20:40:15 -07:00
Pragmatic Software
a6e495352f
Remove extraneous $1
2017-08-27 19:54:46 -07:00
Pragmatic Software
07eef4b9a2
Update version
2017-08-27 19:52:39 -07:00
Pragmatic Software
c5da50593a
Expand $0 and /call in factoid variables
2017-08-27 19:52:36 -07:00
Pragmatic Software
65e15e93ee
Update version
2017-08-27 19:02:50 -07:00
Pragmatic Software
80bceb2c75
Make fact log of factset more concise
2017-08-27 19:02:48 -07:00
Pragmatic Software
ca827a1499
Show factlog output sorted from newest to oldest
2017-08-27 19:00:31 -07:00
Pragmatic Software
90cdc8db7a
Correct handling of optional channel argument
2017-08-27 18:52:14 -07:00
Pragmatic Software
51c26d0655
Update version
2017-08-27 04:18:34 -07:00
Pragmatic Software
75c6375339
Refactor code-factoid execution a little bit
2017-08-27 04:18:31 -07:00
Pragmatic Software
73bc7cebe4
Update factset usage to reflect optional channel
2017-08-27 02:44:35 -07:00
Pragmatic Software
2e249b079a
Update version
2017-08-27 00:56:57 -07:00
Pragmatic Software
cb37eb1ce7
Make channel intelligently optional for more fact* commands
2017-08-27 00:56:55 -07:00
Pragmatic Software
fb671ab4de
Update version
2017-08-26 22:59:56 -07:00
Pragmatic Software
467a04252b
Update version
2017-08-26 21:42:07 -07:00
Pragmatic Software
2cd007d6c4
Execute code-factoids in action_with_args
2017-08-26 21:42:01 -07:00
Pragmatic Software
e9971cf29d
Factlog revision for factredo now consistent
2017-08-26 21:40:27 -07:00
Pragmatic Software
03b2b8d7b9
Remove left over debug messages
2017-08-26 21:37:31 -07:00
Pragmatic Software
a723bc3f65
Completely botched undo/redo for global factoids -- fixed now
2017-08-26 21:35:46 -07:00
Pragmatic Software
b50f9f95ce
Update version
2017-08-26 07:04:10 -07:00
Pragmatic Software
57af14413e
Add ability to undo/redo factoid revisions
2017-08-26 07:03:01 -07:00
Pragmatic Software
c28c19811f
Update version
2017-08-26 04:06:40 -07:00
Pragmatic Software
2ac7b6feb6
Exclude "Why would I want to do that to myself?" from specific commands
2017-08-26 04:06:36 -07:00
Pragmatic Software
428268a415
Update version
2017-08-26 03:46:01 -07:00
Pragmatic Software
770e678170
code-factiod symbol name exclusion now more robust
2017-08-26 03:45:58 -07:00
Pragmatic Software
3e2ffe7d61
Update version
2017-08-26 01:50:44 -07:00
Pragmatic Software
6d552cc710
Double-quoted $0 in code-factoids now expand to root-keyword
2017-08-26 01:50:42 -07:00
Pragmatic Software
c580fde95c
Update version
2017-08-26 01:45:20 -07:00
Pragmatic Software
1a08156443
Add $0 in factoid action to expand to first keyword used to invoke factoid
2017-08-26 01:45:18 -07:00
Pragmatic Software
d0f837ee94
Update version
2017-08-25 23:36:14 -07:00
Pragmatic Software
06d341b41f
Automagically transpose a/an preceding factoid variable expansion
2017-08-25 23:36:11 -07:00
Pragmatic Software
bedbe6e370
Update version
2017-08-25 15:32:35 -07:00
Pragmatic Software
8cae7a0847
Pre-expand factoid variables in code-factoids
2017-08-25 15:32:28 -07:00
Pragmatic Software
fad64381a4
Update version
2017-08-24 15:19:18 -07:00
Pragmatic Software
7f2f32f3d0
Limit max action length from code-factoid result
2017-08-24 15:19:12 -07:00
Pragmatic Software
556821805f
Do not allow empty or too long factoids with factchange
2017-08-24 15:18:41 -07:00
Pragmatic Software
17a62b48e4
Limit truncation pastes to 8000 bytes
2017-08-24 15:16:42 -07:00
Pragmatic Software
f6827aa886
Give embedded commands lowest priority so they are not extracted from actual commands
2017-08-24 15:13:20 -07:00
Pragmatic Software
b0a4407951
Update version
2017-08-23 19:51:53 -07:00
Pragmatic Software
51f740f50e
Update version
2017-08-23 19:25:51 -07:00
Pragmatic Software
872d31528a
Add code-factoids!
2017-08-23 19:25:43 -07:00
Pragmatic Software
375dd52b41
Add some more commands to me/my-expansion exclusion-list
2017-08-23 19:22:03 -07:00
Pragmatic Software
6f9d9aba07
Improve factmove
detection of channel
2017-08-23 19:18:14 -07:00
Pragmatic Software
23c2c3d84e
Single-quotes now behave as expected for parse_arguments()
2017-08-23 19:16:32 -07:00
Pragmatic Software
98a061b232
Fix $nick and $arg being overridden by factoids
2017-08-23 19:14:46 -07:00
Pragmatic Software
e5f5aa2c15
Treat ping timeouts aggressively again
2017-08-23 00:22:40 -07:00
Pragmatic Software
6e0456940b
Repeatedly expand factoid variables for sub-expansions
2017-08-23 00:21:46 -07:00
Pragmatic Software
51019a17ab
Update version
2017-08-18 00:53:16 -07:00
Pragmatic Software
716db70664
Add eval
command to evaluate arbitrary bot code (level 99+ admins only)
2017-08-18 00:53:12 -07:00
Pragmatic Software
f9fbae2663
Anti-repeat now case-insensitive
2017-08-18 00:52:21 -07:00
Pragmatic Software
4d358fd86e
ActionTriggers no longer case-insensitive (whoops)
2017-08-18 00:51:53 -07:00
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
Pragmatic Software
4ed61096dd
Missing hash dereference
2016-11-04 12:40:17 -07:00
Pragmatic Software
6fbd6d5620
Update version
2016-10-29 10:47:12 -07:00
Pragmatic Software
3bd424aacc
Fix possible case-sensitivity issues
2016-10-29 10:47:08 -07:00
Pragmatic Software
72faa9169f
Update version
2016-10-23 03:52:03 -07:00
Pragmatic Software
170dac5776
Improve !cmd
and nick: !cmd
processing
2016-10-23 03:51:59 -07:00
Pragmatic Software
0397068a7f
Undo recent blink addition
2016-10-23 03:50:34 -07:00
Pragmatic Software
7f00047af8
Update version
2016-10-14 05:56:57 -07:00
Pragmatic Software
8addeb5d49
Allow "nick: !command" to address to nick; minor improvements
2016-10-14 05:56:54 -07:00
Pragmatic Software
4764b034e1
Update version
2016-09-28 14:13:47 -07:00
Pragmatic Software
c64dca7b07
Forgot a return 0 in an IRC handler, causing other related handlers to not fire after that handler
2016-09-28 14:13:44 -07:00
Pragmatic Software
49a21b2027
Update version
2016-09-25 12:59:05 -07:00
Pragmatic Software
c56b9662b8
Whoops, fix nick-similarity behavior for non-nicks
2016-09-25 12:59:03 -07:00
Pragmatic Software
c6473d0255
Update version
2016-09-25 00:24:52 -07:00
Pragmatic Software
2001fc1908
Whoops, return proper nick-casing for exact-match is_present_similar() result
2016-09-25 00:24:49 -07:00
Pragmatic Software
81e106285e
Update version
2016-09-25 00:03:40 -07:00
Pragmatic Software
f34854fcec
Add nick similarity completion
...
Previously, the bot wouldn't address people by nick if the provided nick
argument doesn't exist in the channel.
Now, the bot's nick list is searched for a nick with a certain similarity
percentage in the order of most recently spoken nicks first. This allows
the bot to address nicks when somebody may have forgotten to add a trailing
underscore/punctuation or may have typoed the nick.
The similarity percentage can be set via the interpreter->nick_similiarty
registry key. A value of 0 should disable the behavior.
2016-09-25 00:03:37 -07:00
Pragmatic Software
6369a8df99
Update version
2016-09-23 18:32:03 -07:00
Pragmatic Software
3fd2519a87
Minor text change; don't aggressively pursue ping-timeouts
2016-09-23 18:32:00 -07:00
Pragmatic Software
d8854603c3
Update version
2016-09-22 08:26:46 -07:00
Pragmatic Software
0cd4102d37
Whoops, NickList should be registered after IRCHandlers since IRCHandlers depends on NickList for AntiFlood QUIT handling
2016-09-22 08:26:42 -07:00
Pragmatic Software
4091127213
Make aka usage message more concise
2016-09-22 08:25:50 -07:00
Pragmatic Software
e4d62a2e18
Update version
2016-09-13 12:43:31 -07:00
Pragmatic Software
754d38b50e
Fix mismatching WHO id if no WHO replies
2016-09-13 12:43:27 -07:00
Pragmatic Software
1f03985178
Update version
2016-09-02 02:17:12 -07:00
Pragmatic Software
687a5e0ae2
Check WHO when joining channels
...
When joining a channel, check the WHO list for that channel in order
to obtain all hostmask, nickserv and gecos information and check for
potential ban evasions.
2016-09-02 02:17:10 -07:00
Pragmatic Software
87d02af264
check_bans now can do a dry-run
2016-09-02 02:12:20 -07:00
Pragmatic Software
ca5b832ddf
Replace baninfo dump with terse line
2016-09-02 02:09:43 -07:00
Pragmatic Software
3225d74206
Update version
2016-08-30 02:14:36 -07:00
Pragmatic Software
2c554328c9
Whoops, do check-bans on join for unidentified users as well when extended-join capability is active
2016-08-30 02:14:21 -07:00
Pragmatic Software
8102e1bc21
Update version
2016-08-29 20:47:49 -07:00
Pragmatic Software
d07458425f
No need to WHOIS on joins if extended-join is available
2016-08-29 20:47:46 -07:00
Pragmatic Software
ca349804ca
Update version
2016-08-28 22:36:50 -07:00
Pragmatic Software
eff8046f2c
kick command now provides random insult if no kick reason is given
2016-08-28 22:36:46 -07:00
Pragmatic Software
c93d3db39c
Update version
2016-08-28 03:49:30 -07:00
Pragmatic Software
1442485d0b
Support account-notify and extended-join capabilities
2016-08-28 03:49:27 -07:00
Pragmatic Software
43351ed8c2
Update version
2016-08-26 04:52:43 -07:00
Pragmatic Software
08a26a70a7
Minor derp with log message
2016-08-26 04:52:38 -07:00
Pragmatic Software
255b42efee
Update version
2016-08-26 04:31:55 -07:00
Pragmatic Software
2dea20130f
Missed a spot
2016-08-26 04:31:51 -07:00
Pragmatic Software
26c80d8351
Update version
2016-08-26 04:02:33 -07:00
Pragmatic Software
c13f3ae9dc
Catch more rare scenarios for strongly linking accounts
2016-08-26 04:02:30 -07:00
Pragmatic Software
e532c5711f
Update version
2016-08-25 01:42:11 -07:00
Pragmatic Software
568c1c8732
Use ? instead of ! to denote nickchange akas
2016-08-25 01:42:06 -07:00
Pragmatic Software
ba6fb2c2d7
Improve linking of accounts
2016-08-25 01:41:32 -07:00
Pragmatic Software
6d0a548c26
Update version
2016-08-17 20:34:49 -07:00
Pragmatic Software
857d1aa0d3
Refactor message account linking
...
Linking of message accounts is now significantly less likely to produce
false-positives.
Previously, any hostmasks with matching nick!*@* would be strongly linked
together. This led to falsely-linking accounts, either inadvertently or
intentionally.
For example, Bob might also be known as Bob_ and Bobby,
but primarily uses Bob as his main nick. Somebody else might join with
Bobby and end up being linked to Bob. Now both Bob and the new Bobby are
linked together as the same person, but likely with different *!user@host.
Now if the new Bobby ever gets banned, then Bob will also end up being
banned for evading Bobby's ban.
This was a sore spot in the previous linking implementation.
This new implementation has several adjustments to more intelligently link
accounts only when they're proven beyond a reasonable doubt to be the same
person (e.g. by matching nickserv accounts, etc).
Consequently, rather than aggressively linking accounts and catching more
ban-evaders at the risk of potentially falsely-linking accounts and falsely
detecting innocent people as ban-evaders, this new implementation will instead
link accounts more reliably at the risk of potential ban-evaders not yet being
linked together and thus being able to evade a ban.
This is a more preferable and reasonable risk. Active channel ops should be
able to catch any obnoxious ban-evaders that slip through this net.
2016-08-17 20:34:45 -07:00
Pragmatic Software
d77ea29b47
Update version
2016-08-01 01:46:30 -07:00
Pragmatic Software
96afc969b3
Update version
2016-07-15 14:09:33 -07:00
Pragmatic Software
674a96431b
Improve nick-change evasion detection logic
2016-07-15 14:09:29 -07:00
Pragmatic Software
133b5d1875
Update version
2016-07-01 13:29:46 -07:00
Pragmatic Software
949dc14525
Command queue no longer delays commands relative to each other
2016-07-01 13:29:26 -07:00
Pragmatic Software
b03a4b68e6
Update version
2016-07-01 13:03:10 -07:00
Pragmatic Software
41030b5686
Quick rough-draft of auto-rejoin plugin
2016-07-01 13:02:58 -07:00
Pragmatic Software
de856f3887
Now joins channel if /invited (and channel is registered and enabled)
2016-07-01 13:01:34 -07:00
Pragmatic Software
b215dfe9de
Add command queue for delayed command processing
2016-07-01 13:00:20 -07:00
Pragmatic Software
4cb77ba143
Minor fix max_recall_time/max_messages initialization
2016-07-01 12:59:31 -07:00
Pragmatic Software
bdfd17612c
Add is_active($channel) to determine if $channel is added and enabled
2016-07-01 12:58:29 -07:00
Pragmatic Software
2792a0cb0b
Ensure lowercased parameters
2016-07-01 12:56:25 -07:00
Pragmatic Software
ff7141a3d6
Minor improvements
2016-07-01 12:55:52 -07:00
Pragmatic Software
35ef8a7af6
Update version
2016-06-25 18:09:53 -07:00
Pragmatic Software
dcacec18c6
Totally not a bug
...
Extremely minor rearrangement of interpreter logic so that `!commands` are
parsed before `command, botnick`. Totally not a bug at all. Pay no attention.
2016-06-25 18:09:47 -07:00
Pragmatic Software
bc2bbb8fde
Update version
2016-04-10 18:35:18 -07:00
Pragmatic Software
b5c107bcbb
Remove extraneous comma
2016-04-10 18:35:11 -07:00
Pragmatic Software
5d62f9e728
Update version
2016-03-15 12:45:17 -07:00
Pragmatic Software
3d90b8fbea
Update version
2016-03-06 22:25:26 -08:00
Pragmatic Software
1e892f4ca1
Add silent option to countertriggers
2016-03-06 22:25:22 -08:00
Pragmatic Software
40c5ba8268
Update version
2016-02-25 00:51:55 -08:00
Pragmatic Software
b87db378cf
Do not trigger ban evasion if mask matches banmask; use *!*@host instead of *!user@ip-mask for evasions
2016-02-25 00:51:52 -08:00
Pragmatic Software
75b29e78c5
Update version
2016-02-25 00:47:54 -08:00
Pragmatic Software
76d9184c1d
Add explicit dereferences
2016-02-25 00:46:55 -08:00
Pragmatic Software
fb846a36ed
Obey ignorelist in Counter plugin on_public()
2016-02-25 00:45:46 -08:00
Pragmatic Software
99e505b811
Add silent
parameter to prevent logging of ignored messages
2016-02-25 00:45:03 -08:00
Pragmatic Software
d344e6d667
Update version
2016-02-21 01:41:51 -08:00
Pragmatic Software
00d5cef482
Update version
2016-02-19 20:45:01 -08:00
Pragmatic Software
f82a0cd64e
Improvements to Counter plugin
2016-02-19 20:44:57 -08:00
Pragmatic Software
f2bd3986b7
Update version
2016-02-19 00:18:03 -08:00
Pragmatic Software
be18316268
For default installs, revert aka level and don't set max_recall_time
2016-02-19 00:17:54 -08:00
Pragmatic Software
b70cf6ad0e
Update version
2016-02-18 16:11:29 -08:00
Pragmatic Software
7cc0912712
Restrict aka to admins, and add max_recall_time limit
2016-02-18 16:11:26 -08:00
Pragmatic Software
94026f4488
Update version
2016-02-17 14:57:30 -08:00
Pragmatic Software
1339b30c4b
Only admins can add counter triggers
2016-02-17 14:57:24 -08:00
Pragmatic Software
8792633b6a
Minor improvement to aka -w
2016-02-17 14:56:57 -08:00
Pragmatic Software
124c5c3577
Update version
2016-02-14 18:29:06 -08:00
Pragmatic Software
d48cc9d976
Skip only bad triggers instead of all triggers
2016-02-14 18:29:00 -08:00
Pragmatic Software
a8983d3a86
Update version
2016-02-14 18:13:33 -08:00
Pragmatic Software
d251d0ac7a
Add countertrigger command to Counter plugin
2016-02-14 18:13:27 -08:00
Pragmatic Software
d8c2084587
Update version
2016-02-13 18:39:18 -08:00
Pragmatic Software
98ee3bef02
Add Counter plugin
2016-02-13 18:39:12 -08:00
Pragmatic Software
a3ade65954
Rename unregister_by_name to unregister
2016-02-13 18:38:43 -08:00
Pragmatic Software
8af19a75e9
Delete plugin subs /after/ calling unload()
2016-02-13 18:37:53 -08:00
Pragmatic Software
f59e00e5c9
Update version
2016-02-10 10:14:15 -08:00
Pragmatic Software
7bb18e00a7
Use binary attribute for CSV
2016-02-10 10:14:12 -08:00
Pragmatic Software
194bff37db
Update version
2016-02-10 07:10:39 -08:00
Pragmatic Software
110c9cc548
Use CSV for GECOS field
2016-02-10 07:10:37 -08:00
Pragmatic Software
c97ba1de20
Update version
2016-02-10 03:42:45 -08:00
Pragmatic Software
ddeef3cc62
Add support for GECOS
2016-02-10 03:42:42 -08:00
Pragmatic Software
15da1428be
Update version
2016-01-29 20:02:58 -08:00
Pragmatic Software
7ccd36d042
Update version
2016-01-29 19:56:34 -08:00
Pragmatic Software
0411249b29
Add AntiRepeat plugin
2016-01-29 19:56:29 -08:00
Pragmatic Software
2b00ce0af5
Update version
2016-01-29 13:09:01 -08:00
Pragmatic Software
b4e8302f32
Do not override pre-existing registry with default values
2016-01-29 13:08:40 -08:00
Pragmatic Software
0d70d85506
Update version
2016-01-29 12:59:17 -08:00
Pragmatic Software
4c5227b351
Unregister timers by id instead of subref
2016-01-29 12:59:07 -08:00
Pragmatic Software
6e4c7853f2
Update version
2016-01-26 19:23:06 -08:00
Pragmatic Software
0b5435bc7d
Refactor whitelist
2016-01-26 19:23:03 -08:00
Pragmatic Software
6631b5752e
Update version
2016-01-26 09:04:06 -08:00
Pragmatic Software
4a3ec27d78
Improve whitelist functionality
2016-01-26 09:04:03 -08:00
Pragmatic Software
5caa814e44
Update version
2016-01-24 03:02:18 -08:00
Pragmatic Software
8ac4a5999d
Add whitelist to blacklist check
2016-01-24 03:02:14 -08:00
Pragmatic Software
01eb05a05e
Update version
2016-01-23 06:03:51 -08:00
Pragmatic Software
745686eb75
Update ban-whitelist to support user-whitelist
2016-01-23 06:03:47 -08:00
Pragmatic Software
54973eca0b
Update version
2016-01-20 08:13:37 -08:00
Pragmatic Software
d1e3d8267d
Update version
2016-01-19 06:51:42 -08:00
Pragmatic Software
14124da3ac
Embedded triggers now work at beginning of message
2016-01-19 06:51:40 -08:00
Pragmatic Software
6fe7d4bd75
Update version
2016-01-16 16:55:53 -08:00
Pragmatic Software
4ef978963c
Improve unbanme
behavior
2016-01-16 16:55:48 -08:00
Pragmatic Software
2e0a5e411c
Make "is" optional in factadd
2016-01-16 16:55:18 -08:00
Pragmatic Software
4d6348c5b0
Update version
2015-12-22 17:24:13 -08:00
Pragmatic Software
01fa391fec
Update version
2015-12-22 08:13:02 -08:00
Pragmatic Software
c306ae4ce6
Minor text reformatting
2015-12-22 08:12:59 -08:00
Pragmatic Software
b01f29491b
Update version
2015-12-14 16:13:46 -08:00
Pragmatic Software
8b66bd82ec
Improve factlog command
...
Now, by default, uses concise timestamp relative durations; e.g. "2d5h ago"
instead of "2 days and 5 hours ago".
Now, by default, shows only nick instead of full hostmask for each entry.
Now accepts optional arguments -t and -h to control the above behavior.
If -t is specified, then it shows a full timedate instead of a relative duration;
e.g., "Sun Dec 13 14:26:56 PST 2015" instead of "2d5h ago".
If -h is specified, then it shows the full hostmask for each entry instead of
just the nick.
2015-12-14 16:13:43 -08:00
Pragmatic Software
d199b3c26c
Update version
2015-12-14 14:30:49 -08:00
Pragmatic Software
167d8c2143
Correct error handling for log_factoid() failure to open file
2015-12-14 14:30:44 -08:00
Pragmatic Software
20a8c30d4c
Update version
2015-12-13 22:28:11 -08:00
Pragmatic Software
3a25afdb01
Minor textual correct for factlog disambig text
2015-12-13 22:28:00 -08:00
Pragmatic Software
edcf966d56
Update version
2015-12-13 22:21:05 -08:00
Pragmatic Software
1540483639
Show factlog for currently deleted factoids if log file exists
2015-12-13 22:20:57 -08:00
Pragmatic Software
4a765277cb
Update version
2015-12-13 22:08:24 -08:00
Pragmatic Software
eb5d90ec48
Fix minor bug creating empty factoid in factset without key argument
2015-12-13 22:08:17 -08:00
Pragmatic Software
03389d4d08
Update version
2015-12-13 14:24:28 -08:00
Pragmatic Software
e6ac123fe1
Add factlog command to see factoid changelogs
2015-12-13 14:24:25 -08:00
Pragmatic Software
66ceac3916
Update version
2015-12-13 13:58:13 -08:00
Pragmatic Software
e6e7f325fb
Add individual change-logs for factoid triggers
2015-12-13 13:58:01 -08:00
Pragmatic Software
31cd5d8388
Update version
2015-11-26 12:36:40 -08:00
Pragmatic Software
2962a44c12
No longer remove trailing punctuation from embedded factoid commands
2015-11-26 12:36:36 -08:00