Pragmatic Software
e18ce03173
NickList improvements
...
* rename dumpnicks (60) to nicklist (0)
* only logged-in admins can nicklist without arguments to see all channels
* nicklist now tracks userdata meta (hostmask, etc) on NAMREPLY
2019-12-30 15:57:31 -08:00
Pragmatic Software
c230a2f3b3
BotAdmins: anchor hostmask regex in find_admin()
2019-12-30 15:47:23 -08:00
Pragmatic Software
2a437b479e
Logger: reopen logfile after rotation to log final messages
2019-12-30 14:50:36 -08:00
Pragmatic Software
c6a952d2b1
Update version
2019-12-29 11:06:57 -08:00
Pragmatic Software
54a661955b
Logger: rename log file to log-<start-up timestamp> at normal termination
2019-12-29 11:06:52 -08:00
Pragmatic Software
4fbdcd948f
Logfile now lives in data_dir
2019-12-29 10:44:05 -08:00
Pragmatic Software
00052452b6
ChanOps: anchor $botnick test in kick section of perform_op_commands
2019-12-28 23:20:55 -08:00
Pragmatic Software
54e75d934b
Add invite
command
2019-12-28 23:17:15 -08:00
Pragmatic Software
b4f63a0be4
BotAdminCommands: ensure sl
has valid arguments
2019-12-28 23:04:41 -08:00
Pragmatic Software
e0b08ebf91
Update version
2019-12-28 22:58:28 -08:00
Pragmatic Software
5c9f185af6
Plugins: ignore autoload entries that begin with a # comment
2019-12-28 22:28:39 -08:00
Pragmatic Software
6d0cd3ef07
Plugins: move Plugins/autoload to data/plugin_autoload
2019-12-28 22:18:32 -08:00
Pragmatic Software
2106497f5d
Registry: no longer need to use value
keyword in regset
command
2019-12-27 20:20:07 -08:00
Pragmatic Software
43093ee843
Services identification now customizable via registry
2019-12-27 19:28:51 -08:00
Pragmatic Software
b6839cd33f
ChanOpCommands: mode
command: use MODES=x ircd mapping for max modes per command
2019-12-26 23:00:14 -08:00
Pragmatic Software
c9391d7829
Add wildcard support to mode
command
2019-12-26 19:24:35 -08:00
Pragmatic Software
f621993083
Update version
2019-12-26 06:08:52 -08:00
Pragmatic Software
a7866c1250
ChanOpCommands: add mode
command (level 40)
2019-12-26 06:08:39 -08:00
Pragmatic Software
fe1f385053
ChanOps: op service/command can now be overridden via registry
2019-12-26 05:47:18 -08:00
Pragmatic Software
0b879cd987
AntiFlood: $conf{whitelist_file} no longer used; use only registry
2019-12-24 14:28:57 -08:00
Pragmatic Software
f345058b05
Update version
2019-12-21 19:59:29 -08:00
Pragmatic Software
2a805038a1
IRCHandlers: improve nickserv identify and autojoin
2019-12-21 19:44:22 -08:00
Pragmatic Software
3b93dbe4c3
Channels: add autojoin function
2019-12-21 19:43:05 -08:00
Pragmatic Software
274ee8dcd6
Plugins: Fix path loading
2019-12-21 19:33:53 -08:00
Pragmatic Software
0e0f64531b
Simplify pbot.pl and refactor PBot.pm.
...
Command-line arguments can override registry entries.
Remove config_dir. Use data_dir instead.
2019-12-21 19:04:39 -08:00
Pragmatic Software
755cb0d571
Plugins: use plugin_dir registry value
2019-12-21 19:01:59 -08:00
Pragmatic Software
532fc9c8fc
Registry: add dont_save option to set()
2019-12-21 19:01:32 -08:00
Pragmatic Software
8185c7399f
DualIndexHashObject: ensure file has contents before attempting to parse
2019-12-21 18:59:17 -08:00
Pragmatic Software
b1fda82171
VERSION.pm: Change revision
to version
2019-12-21 15:26:44 -08:00
Pragmatic Software
4d9b3f09a7
Plugins are now autoloaded via entries listed in the Plugin/autoload file
2019-12-21 15:26:01 -08:00
Pragmatic Software
37b7570c7f
Factoids/Quotegrabs: use botnick value when exporting
2019-12-19 23:39:46 -08:00
Pragmatic Software
d681f88f23
Plugins: fix default loading path
2019-12-15 14:41:25 -08:00
Pragmatic Software
6fcfe4572a
Update version
2019-12-14 10:09:35 -08:00
Pragmatic Software
eef14f68c9
Factoids: improve factoid variable expansion (now aware of --keyword-override and ref_from)
2019-12-14 10:09:28 -08:00
Pragmatic Software
0b6bd32961
Update version
2019-11-25 13:57:44 -08:00
Pragmatic Software
369a763af1
ChanOpCommands: ban/mute now use default timeout registry entries
2019-11-25 13:57:37 -08:00
Pragmatic Software
8b60162a10
Registry: can now set nick-specific registry values; e.g. default_ban_timeout.nick.pragma-
2019-11-25 13:56:55 -08:00
Pragmatic Software
12c20284a1
Plugins: Fix default location
2019-11-07 20:09:31 -08:00
Pragmatic Software
b8c77abd47
Improve and simplify pipe/subcmd logic
2019-09-04 20:18:32 -07:00
Pragmatic Software
9aa9c2e70e
Update version
2019-09-02 10:36:40 -07:00
Pragmatic Software
fcd3b6e64d
FuncCommand: improve usage and help messages
2019-09-02 10:36:34 -07:00
Pragmatic Software
decd17f2bd
Update version
2019-09-01 11:02:32 -07:00
Pragmatic Software
848536f183
MessageHistory: recall now ignores fix
commands
2019-09-01 11:02:22 -07:00
Pragmatic Software
ba65834b29
Remove duplicate line
2019-09-01 11:01:53 -07:00
Pragmatic Software
fc8a1057c9
Move Plugins directory to root, out of PBot source tree
2019-09-01 11:01:18 -07:00
Pragmatic Software
60cf77d538
FuncCommand: use uri_escape_utf8 instead
2019-08-25 14:45:21 -07:00
Pragmatic Software
9c803b2d14
factlog
now logs renames on both sides instead of only destination side
2019-08-25 08:53:59 -07:00
Pragmatic Software
78082792e5
FuncCommand: clarify a comment
2019-08-25 00:10:45 -07:00
Pragmatic Software
3034e7118f
Fix minor typo
2019-08-25 00:05:51 -07:00
Pragmatic Software
048396c725
Update version
2019-08-24 23:58:15 -07:00
Pragmatic Software
c5faf7fb9a
FuncCommand: edit file description and minor clean-up
2019-08-24 23:58:07 -07:00
Pragmatic Software
239b79d48e
FuncCommand: add unquote
2019-08-24 20:35:24 -07:00
Pragmatic Software
4e63f8435e
FuncCommand: list
now includes description in regex search
2019-08-24 19:35:56 -07:00
Pragmatic Software
84fcc7fd66
FuncCommand: replace tabs with spaces
2019-08-24 19:29:14 -07:00
Pragmatic Software
d9728d3693
FuncCommand: add sed func based on krok's factoid
2019-08-24 19:25:21 -07:00
Pragmatic Software
dec2e4980d
Update version
2019-08-24 19:04:58 -07:00
Pragmatic Software
2b33a2468c
Add func
command. Executes built-in bot functions as a command. Very useful!
2019-08-24 19:03:08 -07:00
Pragmatic Software
7f1173b9d6
BotAdminCommands: automate reload
usage message
2019-08-24 18:18:07 -07:00
Pragmatic Software
e06f484a6e
RegistryCommands: Fix harmless typo
2019-08-24 17:31:24 -07:00
Pragmatic Software
5f2276bf63
Interpreter: disregard quotes in extract_bracketed; replace ;; with ;;;
2019-08-23 14:07:21 -07:00
Pragmatic Software
be528094b6
FactoidCommands: use full hostmask when testing for owner of locked factoid
2019-08-22 09:49:14 -07:00
Pragmatic Software
6115d73639
Factoids: revert $var channel expansion -- now strict again; will improve shortly
2019-08-20 14:57:12 -07:00
Pragmatic Software
50ebf52371
Factoids: turn debugging back off for $var expansions
2019-08-17 10:11:34 -07:00
Pragmatic Software
15f8a3683e
Factoid improvements
...
- support braced ${variables}
- $var expansion improvements
2019-08-17 10:09:26 -07:00
Pragmatic Software
936cbb52d8
MessageHistory: recall
now ignores ftfy
commands
2019-08-15 11:12:23 -07:00
Pragmatic Software
c953962bd4
FactoidCommands: disable word-wrapping for show -p
2019-08-06 18:23:37 -07:00
Pragmatic Software
e30943ff70
WebPaste now can take option to disable word-wrapping
2019-08-06 18:23:13 -07:00
Pragmatic Software
5345911b20
Update version
2019-08-06 10:44:18 -07:00
Pragmatic Software
ff14b8e419
Fix alias escaping
2019-08-06 10:44:10 -07:00
Pragmatic Software
b7f2c188bc
Improve handling of newlines in factoids
2019-08-06 10:38:46 -07:00
Pragmatic Software
36cb4db040
AntiRepeat: Fix nick truncation
2019-07-26 16:10:10 -07:00
Pragmatic Software
e191f0652f
Update Plugins timed ban/mute invocations
2019-07-26 15:55:03 -07:00
Pragmatic Software
167edf8d95
Temp bans/mutes now track owner and reason for checkban/checkmute
2019-07-26 14:17:06 -07:00
Pragmatic Software
3756151c8f
Update version
2019-07-24 18:03:41 -07:00
Pragmatic Software
4562eab46f
Quotegrabs: Replace inferior GetOptionsFromString with better GetOptionsFromArray; improve usage messages
2019-07-24 18:03:38 -07:00
Pragmatic Software
0f4eb76a4e
MessageHistory: correct sort order for recall
-A option
2019-07-24 09:17:16 -07:00
Pragmatic Software
03bed5b64a
Update version
2019-07-23 12:20:10 -07:00
Pragmatic Software
84ec0841c2
MessageHistory: fix sort for -A option
2019-07-23 12:20:06 -07:00
Pragmatic Software
20a7ff992d
MessageHistory: now tracks channel mode changes on users
2019-07-23 12:19:34 -07:00
Pragmatic Software
9465636304
Update version
2019-07-23 08:55:32 -07:00
Pragmatic Software
aa87cadb65
Add checkban/checkmute commands so users can see remaining timeout duration.
...
`mute` now translates nick to banmask.
`ban`/`mute` commands will now show remaining timeout duration if no length
argument is provided.
2019-07-23 08:55:24 -07:00
Pragmatic Software
3e6c560352
PBot: add config option to load only the logger (for internal use)
2019-07-23 08:51:36 -07:00
Pragmatic Software
230f9ca133
Update version
2019-07-10 18:52:53 -07:00
Pragmatic Software
2d442b0f3e
Update version
2019-07-10 18:41:14 -07:00
Pragmatic Software
3553692b5a
Fix some more Unicode encoding issues
2019-07-10 18:40:53 -07:00
Pragmatic Software
468cd21b87
Update version
2019-07-08 15:52:10 -07:00
Pragmatic Software
81ae3a5741
Fix split_line issue where it could sometimes forget tokens when encountering unbalanced quotes
2019-07-08 15:51:55 -07:00
Pragmatic Software
83fc8536d0
Update version
2019-07-06 15:53:42 -07:00
Pragmatic Software
30992af811
Add some whitespace around this one line
2019-07-06 01:29:14 -07:00
Pragmatic Software
baef88e2e7
Update version
2019-07-05 23:11:00 -07:00
Pragmatic Software
64ad929de6
FactoidModuleLauncher: timeout now configurable via registry
2019-07-05 23:10:57 -07:00
Pragmatic Software
a82f580f58
FactoidModuleLauncher: remove left-over debug log message
2019-07-05 23:04:04 -07:00
Pragmatic Software
66fac81540
Update version
2019-07-05 23:00:59 -07:00
Pragmatic Software
090d021ae2
FactoidModuleLauncher: no longer go through shell to execute modules; add time-out support
2019-07-05 23:00:53 -07:00
Pragmatic Software
b4ce94e655
Replace https:// with http:// in -url usage messages
2019-07-01 21:36:08 -07:00
Pragmatic Software
1abed830ef
Update version
2019-06-30 22:19:09 -07:00
Pragmatic Software
f410eaf6eb
factchange
now accepts -url parameter
...
log_factoid()/`factlog` now stores new entries in JSON (for newlines, etc), but will
fall-back to plain-text to continue reading older entries.
2019-06-30 22:19:04 -07:00
Pragmatic Software
0cc1c67862
Factoids: /code factoids can now contain newlines
2019-06-30 20:48:15 -07:00
Pragmatic Software
c399116c4e
WebPaste: Encode output as UTF-8
2019-06-30 20:47:49 -07:00
Pragmatic Software
8f98d3d55c
FactoidCommands: improve output of factshow -p to be more like it was without -p
2019-06-30 20:21:09 -07:00
Pragmatic Software
f34cf704cc
FactoidCommands: factshow now accepts -p option to paste contents
2019-06-30 20:12:41 -07:00
Pragmatic Software
dea44fb405
Fix and clean up factadd -url (todo: forking)
2019-06-30 17:54:08 -07:00
Naïm Favier
3fb72f73c5
Add URL support to factadd ( #51 )
...
* FactoidCommands.pm: remove trailing whitespace
* Add URL support to factadd
2019-06-30 17:45:05 -07:00
Pragmatic Software
d87c29a698
Sort JSON keys when saving
2019-06-30 17:00:03 -07:00
Pragmatic Software
f7b1551979
Remove space_before from JSON pretty print
2019-06-30 16:48:12 -07:00
Pragmatic Software
ab435f11d4
Update version
2019-06-30 15:08:33 -07:00
Pragmatic Software
2cdb70c5bf
Fix Unicode encoding issues
2019-06-30 15:08:18 -07:00
Pragmatic Software
00eac49ca9
Remove redundant "Loading ..." log messages
2019-06-28 00:56:18 -07:00
Pragmatic Software
5a26aca801
Convert HashObject file format to JSON to support newlines in factoid contents, etc
2019-06-28 00:22:57 -07:00
Pragmatic Software
33059a54d9
Update version
2019-06-26 09:35:22 -07:00
Pragmatic Software
5e2cb09744
Fix trailing whitespace throughout
2019-06-26 09:34:19 -07:00
Pragmatic Software
8b5de0beee
Update version
2019-06-25 23:21:24 -07:00
Pragmatic Software
8c97a57eab
Interpreter: improve split_line
2019-06-25 23:19:57 -07:00
Pragmatic Software
57630e7c12
Update version
2019-06-25 18:23:25 -07:00
Pragmatic Software
0310145c7d
Interpreter: commands can now be split with ;;
2019-06-25 18:23:21 -07:00
Pragmatic Software
9d6604da19
Update version
2019-06-25 14:42:01 -07:00
Pragmatic Software
21ffced2d7
Update version
2019-06-24 19:02:06 -07:00
Pragmatic Software
8e21de1f60
Interpreter: split_line is now smarter about JSON and code
2019-06-24 16:47:31 -07:00
Pragmatic Software
3e2395370f
AntiRepeat: strip nick-like prefixes
2019-06-24 12:59:09 -07:00
Pragmatic Software
87e0d33870
AntiRepeat: pay attention to /me
2019-06-24 12:52:41 -07:00
Pragmatic Software
bbd015e607
Update version
2019-06-23 10:34:46 -07:00
Pragmatic Software
8f8b11b9e6
ChanOpCommands: respect effective-level override for chan op commands
2019-06-23 10:34:41 -07:00
Pragmatic Software
0f81e39276
WebPaste: remove ptpb.pw
2019-06-22 18:48:06 -07:00
Pragmatic Software
ee33d9f5d6
Update version
2019-06-22 18:30:44 -07:00
Pragmatic Software
1e15848442
FactoidCommands: quote arugments only if necessary
2019-06-22 18:30:40 -07:00
Pragmatic Software
5cf13c1bdd
Factoids: Remove use of shellwords
2019-06-22 18:29:54 -07:00
Pragmatic Software
51fa020de2
Commands: Remove unused reference
2019-06-22 18:28:38 -07:00
Pragmatic Software
5c8eab8a4c
Update version
2019-06-21 12:36:55 -07:00
Pragmatic Software
624c036146
AntiFlood: minor text changes for unbanme
2019-06-21 12:36:43 -07:00
Pragmatic Software
baa33d9fce
Update version
2019-06-20 08:55:05 -07:00
Pragmatic Software
3676aed1eb
Update version
2019-06-14 18:49:44 -07:00
Pragmatic Software
2832298af3
FactoidModuleLauncher: remove obsoleted escape-handling "magic"
2019-06-10 11:53:04 -07:00
Pragmatic Software
4826b1c851
Interpreter: add default options to split_line()
2019-06-10 11:51:48 -07:00
Pragmatic Software
f0181c7a69
Factoids: add default options for named parameters
2019-06-10 09:21:35 -07:00
Pragmatic Software
75a31458b0
FactoidCommands: factlog/factundo/factredo now work with keywords containing spaces
2019-06-09 21:50:40 -07:00
Pragmatic Software
e1abf1a1a7
MessageHistory: remove no-longer-necessary single-quote logic
2019-06-09 21:49:47 -07:00
Pragmatic Software
982d4b4b8d
Factoids: find_factoid now takes an options hash instead
2019-06-09 16:33:27 -07:00
Pragmatic Software
8480d3ce61
FactoidCommands: factchange closing delimiter now optional
2019-06-09 15:36:48 -07:00
Pragmatic Software
6b0d2d0835
Update version
2019-06-09 13:57:58 -07:00
Pragmatic Software
22f899612b
FactoidCommands: factchange is now aware of quoted keywords; factchange and factshow now preserve spaces in output
2019-06-09 13:57:52 -07:00
Pragmatic Software
0f81584d8f
Interpreter: split_line() now takes an options hash; now accepts "strip_quotes" and "keep_spaces"
2019-06-09 13:57:08 -07:00
Pragmatic Software
b3ac27758d
Factoids: keywords can now contain spaces
2019-06-09 09:54:42 -07:00
Pragmatic Software
5d102ee574
Update version
2019-06-09 08:30:05 -07:00
Pragmatic Software
5f0a581096
ParseDate: fix time zones
2019-06-09 08:30:00 -07:00
Pragmatic Software
119d9617bc
Update version
2019-06-08 17:57:36 -07:00
Pragmatic Software
90f3d390bd
Factoids: er, preserve the quotes in arguments
2019-06-08 17:57:31 -07:00
Pragmatic Software
e0e9cbed25
Update version
2019-06-08 17:52:28 -07:00
Pragmatic Software
f00cabe4ec
Factoids: correct edge-case mishandling of quoted arguments
2019-06-08 17:52:25 -07:00
Pragmatic Software
39a2f612f8
Update version
2019-06-08 17:24:54 -07:00
Pragmatic Software
7824a5e6db
ParseDate: encourage DateTime::Format::Flexible to understand more kinds of natural input
2019-06-08 17:24:50 -07:00
Pragmatic Software
7523fbcede
FactoidCommands: fix an issue where factchange could sometimes fail
2019-06-08 16:00:11 -07:00
Pragmatic Software
be0c487694
Update version
2019-06-07 13:57:13 -07:00
Pragmatic Software
648537f427
Quotegrabs: use split_line instead of parse_arguments
2019-06-07 13:57:05 -07:00
Pragmatic Software
0979ac86d9
Interpreter: split_line now accepts a parameter to strip quotes
2019-06-07 13:56:41 -07:00
Pragmatic Software
ed0c857389
Update version
2019-06-07 13:16:57 -07:00
Pragmatic Software
5d1310adb3
Factoids: variable modifiers such as :ucfirst now pass through to replacements
2019-06-07 13:16:54 -07:00
Pragmatic Software
8f35fa3430
ParseDate: correct typo in sanitizer
2019-06-07 00:41:19 -07:00
Pragmatic Software
23d20abd59
ParseDate: add a couple of more sanitizers
2019-06-07 00:32:06 -07:00
Pragmatic Software
bf77f9e3dc
Update version
2019-06-06 23:08:47 -07:00
Pragmatic Software
5496d1a481
ParseDate now understands concise things like "1w5d" or "7h30m"
2019-06-06 23:08:42 -07:00
Pragmatic Software
61004dd077
ParseDate: clarified a couple of comments
2019-06-06 21:52:39 -07:00
Pragmatic Software
dd4dcf2e0a
Update version
2019-06-06 21:46:19 -07:00
Pragmatic Software
b1729a13e2
ParseDate: complete rewrite, replacing Time::ParseDate with DateTime::Format::Flexible
...
Now supports more types of input, including those containing timezones!
Converted PBot::Utils::ParseDate to an internal PBot module.
2019-06-06 21:46:00 -07:00
Pragmatic Software
4a27a7e59f
Factoids: factoid variable identifiers can now be delimited with braces (e.g.: ${foo})
2019-06-06 15:21:15 -07:00
Pragmatic Software
8fc3594bcd
Update version
2019-06-03 08:50:49 -07:00
Pragmatic Software
bffbc8b3d0
Factoids: add requires_arguments
metadata to tell usage
metadata if a usage is required in a pipe or other expansion
2019-06-03 08:50:42 -07:00
Pragmatic Software
563f8da40f
Factoids: usage metadata now understands $0 for keyword
2019-06-03 08:01:52 -07:00
Pragmatic Software
21acc5ed55
Update version
2019-06-02 22:35:17 -07:00
Pragmatic Software
ff3ffea15e
Factoids: factoid variables can now be quoted properly
2019-06-02 22:34:54 -07:00
Pragmatic Software
8814fdfe9b
FactoidCommands: factadd now supports -f option to force overwriting existing factoid
2019-06-02 22:34:17 -07:00
Pragmatic Software
460df9ef64
Factoids: Remove packages left-over from execute_code_factoid_using_safe's removal
2019-06-02 19:37:34 -07:00
Pragmatic Software
939d96141a
Update version
2019-06-02 19:31:29 -07:00
Pragmatic Software
5eeabccaf2
Factoids: remove execute_code_factoid_using_safe
2019-06-02 19:31:25 -07:00
Pragmatic Software
bb08250673
Factoid usage
metadata can now interrupt pipes to display usage message as appropriate
2019-06-02 19:30:35 -07:00
Pragmatic Software
838b52f6b5
Update version
2019-06-02 16:59:31 -07:00
Pragmatic Software
f87e3c7cd8
Factoids: add usage
metadata to show usage message if no arguments supplied
2019-06-02 16:59:27 -07:00
Pragmatic Software
63b523dbc7
Update version
2019-06-02 16:29:10 -07:00
Pragmatic Software
6e98c471d2
Factoids: add allow_empty_args metadata to prevent empty $args from expanding as $nick
2019-06-02 16:28:55 -07:00
Pragmatic Software
47c05cfdac
FactoidCommands: factundo/factlog can now express deleted metadata keys
2019-06-02 16:21:42 -07:00
Pragmatic Software
ef96ba21cb
Interpreter: slightly increase human-like delay
2019-06-01 18:55:08 -07:00
Pragmatic Software
4c9496a2b3
UrlTitles: Do not show titles for bot-commands
2019-05-31 08:59:59 -07:00
Pragmatic Software
e9fc0e5474
Factoids: add flag to prevent --keyword-override parsing
2019-05-31 08:21:27 -07:00
Pragmatic Software
e0a6d9bcb6
Interpreter: remove left-over declaration
2019-05-31 02:27:30 -07:00
Pragmatic Software
a068fe8359
Update version
2019-05-30 09:25:35 -07:00
Pragmatic Software
fcb4404012
Interpreter: extract_bracketed: fix indentation, minor tweaks
2019-05-30 09:25:31 -07:00
Pragmatic Software
0b856c680b
Update version
2019-05-30 00:27:58 -07:00
Pragmatic Software
acf35a5df3
Interpreter: write custom extract_bracketed to gracefully handle unbalanced brackets or quotes
2019-05-30 00:27:52 -07:00
Pragmatic Software
c97d0a5561
Update version
2019-05-29 14:34:19 -07:00
Pragmatic Software
d8a9660e39
Factoids: undo weird $args man-in-the-middle behavior
2019-05-29 10:36:09 -07:00
Pragmatic Software
56f7e2ab7d
Factoids: stop repeatedly trying to expand undefined factoid variables
2019-05-29 09:49:24 -07:00
Pragmatic Software
ccfb109829
Update version
2019-05-28 11:56:12 -07:00
Pragmatic Software
b04015286c
Interpreter: minor corrections to split_line
2019-05-28 11:56:06 -07:00
Pragmatic Software
e287887765
Interpreter: rewrite make_args to gracefully handle unbalanced quotes
2019-05-28 11:11:32 -07:00
Pragmatic Software
925a5e57bd
Minor whitespace syntax clean-up throughout
2019-05-28 09:19:42 -07:00
Pragmatic Software
00618c5502
Update version
2019-05-27 19:40:56 -07:00
Pragmatic Software
6f282d2968
factset: respect locked
metadata
2019-05-27 19:40:24 -07:00
Pragmatic Software
064b4bd72c
Update version
2019-05-27 07:43:29 -07:00
Pragmatic Software
aa19260a24
Interpreter: fix mishandling of spaces when building arglist
2019-05-27 07:43:14 -07:00
Pragmatic Software
a851c08ffe
Update version
2019-05-22 23:12:34 -07:00
Pragmatic Software
17f5b92a8f
Factoids: use correct arguments when calling alias
2019-05-22 23:12:31 -07:00
Pragmatic Software
e617428a72
Update version
2019-05-20 14:06:45 -07:00
Pragmatic Software
cd22e21a6a
MessageHistory: recall's arguments now behave more sanely
2019-05-20 14:05:58 -07:00
Pragmatic Software
a892e8e5c1
Interpreter: add tell nick the <command>
syntax
2019-05-20 13:10:08 -07:00
Pragmatic Software
8ca11c808b
Spinach: add missing comma
2019-05-17 08:46:20 -07:00
Pragmatic Software
2dc78f7383
Interpreter: fix incorrect handling of quoted arguments
2019-05-15 10:59:48 -07:00
Pragmatic Software
6f6090efc5
Interpreter: reduce human-like delay durations
2019-05-15 10:59:20 -07:00
Pragmatic Software
57a4434289
Spinach: Wrap state debug dump with debug_state flag
2019-05-15 10:58:32 -07:00
Pragmatic Software
cb1a88ed9a
Update version
2019-05-13 18:04:12 -07:00
Pragmatic Software
14601ef5f5
Spinach: er, use \s not \b to get word count for one word detection
2019-05-13 18:04:09 -07:00
Pragmatic Software
7bec7a0320
Update version
2019-05-13 17:59:31 -07:00
Pragmatic Software
a027f563ca
Spinach: reveal lies when skipping/rerolling; do not allow one word lies if truth contains more than one word
2019-05-13 17:59:15 -07:00
Pragmatic Software
1b3def08e4
Update version
2019-05-13 08:37:40 -07:00
Pragmatic Software
bebddb5ea9
Factoids: add require_explicit_args metadata to prevent $args from appending undesirably in aliases
2019-05-13 08:37:36 -07:00
Pragmatic Software
b838a08f8d
Update version
2019-05-13 00:24:11 -07:00
Pragmatic Software
5b4af4ce4b
Factoids: see previous commit message
2019-05-13 00:24:08 -07:00
Pragmatic Software
62dad2d2df
Update version
2019-05-13 00:07:10 -07:00
Pragmatic Software
786d1f75b1
Factoids: effective-level override now actually does something; add locked_to_channel metadata
2019-05-13 00:07:08 -07:00
Pragmatic Software
164d02b886
Update version
2019-05-09 21:11:20 -07:00
Pragmatic Software
73741e5418
code-factoids: handle arguments a little better
2019-05-09 21:04:28 -07:00
Pragmatic Software
2d41c849bc
Update version
2019-05-09 18:04:54 -07:00
Pragmatic Software
7da4003ffd
Factoids: replace hard-coded max length values with registry values
2019-05-09 18:04:52 -07:00
Pragmatic Software
f9a50f0d27
MessageHistory: get_ancestor_id: ensure id has a valid value
2019-05-09 18:04:15 -07:00
Pragmatic Software
516e093a20
Update version
2019-05-09 13:25:38 -07:00
Pragmatic Software
89b4b1da67
Spinach: stats are now nick-agnostic
2019-05-09 13:25:33 -07:00
Pragmatic Software
d416b01359
Update version
2019-05-09 00:18:30 -07:00
Pragmatic Software
0ecde9d690
Spinach: Minor whitespace fix
2019-05-09 00:18:23 -07:00
Pragmatic Software
9ccd2141a5
Update version
2019-05-09 00:16:45 -07:00
Pragmatic Software
383705aca8
Spinach: clean up previous commit
2019-05-09 00:16:37 -07:00
Pragmatic Software
ed774ac379
Spinach: Reveal answer when skipping/rerolling
2019-05-08 23:07:59 -07:00
Pragmatic Software
7dbaa0b6c3
Update version
2019-05-08 21:08:02 -07:00
Pragmatic Software
69ea38bec6
PBot: load registry before autoloading plugins
2019-05-08 21:07:57 -07:00
Pragmatic Software
207fcba402
Plugins: add replug
command
2019-05-08 21:06:56 -07:00
Pragmatic Software
3c3a96461e
Minor bugfix for two rarely used plugins
2019-05-08 21:06:10 -07:00
Pragmatic Software
62387c48ef
findfactoid
now accepts a -regex flag to do a regex search instead of whole-word
2019-05-08 20:48:26 -07:00
Pragmatic Software
d22fe7972d
Update version
2019-05-08 20:09:50 -07:00
Pragmatic Software
4ce8e8b316
Increase minimum factoid name length to 60
2019-05-08 20:09:34 -07:00
Pragmatic Software
02c8cfd83b
FactoidCommands: allow non-admins to inspect factset values on factoids they do not own, and to be able to factset admin
on any factoids instead of using factchange
2019-05-08 13:06:30 -07:00
Pragmatic Software
15aaa6fa1a
Spinach: allow non-admins to inspect settings values
2019-05-08 12:48:10 -07:00
Pragmatic Software
e1b6c2d64a
Spinach: Use ancestor account id to unify all nicks belonging to one person
2019-05-08 01:39:52 -07:00
Pragmatic Software
f0c0f26138
MessageHistory: Add wrapper to get ancestor id directly from message account
2019-05-08 01:38:59 -07:00
Pragmatic Software
c5c905e74f
Spinach: Add commands to show/set game state; improve logging of state
2019-05-08 01:37:00 -07:00
Pragmatic Software
13a1791d2f
Update version
2019-05-07 19:57:13 -07:00
Pragmatic Software
0f8966a9ff
No longer trips over its feet
2019-05-07 19:57:09 -07:00
Pragmatic Software
acc1c45ba3
Update version
2019-05-07 12:51:29 -07:00
Pragmatic Software
a0359c27dd
Spinach: Immediately stop game when last player exits
2019-05-07 03:26:40 -07:00
Pragmatic Software
a75c4b4a65
Update version
2019-05-07 02:19:29 -07:00
Pragmatic Software
d73d5825b6
Spinach: Bug fixes and improvements
2019-05-07 02:19:03 -07:00
Pragmatic Software
7f8272c0f3
Spinach: Do not attempt to choose categories that do not contain questions that meet game configuration (min_difficulty, seen_expiry, etc); slightly speed up some delays
2019-05-06 21:08:09 -07:00
Pragmatic Software
c032450d82
Spinach: Correct extremely minor typo
2019-05-05 23:17:33 -07:00
Pragmatic Software
39952413c7
Update version
2019-05-05 23:11:52 -07:00
Pragmatic Software
e4cddeb54e
Spinach: Add difficulty settings; minor bug fixes and improvements
2019-05-05 23:11:45 -07:00
Pragmatic Software
755febc2d7
Update version
2019-05-04 19:32:32 -07:00
Pragmatic Software
e81826e5bd
Spinach: Oops, fix bug
2019-05-04 19:32:28 -07:00
Pragmatic Software
8fbc6eda80
Update version
2019-05-04 19:28:50 -07:00
Pragmatic Software
f7825b996e
Spinach: add keep
command to vote to prevent question from being skipped
2019-05-04 19:28:34 -07:00
Pragmatic Software
f8d8cac7d4
Interpreter: case-insensitive "Why would I want to do that to myself?" exceptions
2019-05-04 19:04:11 -07:00
Pragmatic Software
0538a37678
MessageHistory: recall is now aware of mock
2019-05-04 14:52:25 -07:00
Pragmatic Software
6d08967780
Update version
2019-05-03 17:19:22 -07:00
Pragmatic Software
0b500616b9
Spinach: Remove debugging statements
2019-05-03 17:18:59 -07:00
Pragmatic Software
a3d0f4e0d4
Spinach: sort questions by last_seen timestamp; skip categories whose questions have all been seen; etc
2019-05-02 23:13:27 -07:00
Pragmatic Software
d23af40565
Update version
2019-05-02 15:04:08 -07:00
Pragmatic Software
2c66a7144b
Factoids: Properly look-up root keyword data when overriding
2019-05-02 15:04:04 -07:00
Pragmatic Software
06c22f8fda
Update version
2019-05-02 14:09:50 -07:00
Pragmatic Software
1ff38eaacc
Factoids: root keyword can now be overridden
2019-05-02 14:09:33 -07:00
Pragmatic Software
1f6d655a3e
Factoids: Fix broken ref_from when using factfind on an alias
2019-05-02 12:39:05 -07:00
Pragmatic Software
60f279759c
Spinach: Lowercase question if more than 80% of the words are title-cased
2019-05-02 12:06:45 -07:00
Pragmatic Software
e09751e0d2
Update version
2019-04-28 01:14:38 -07:00
Pragmatic Software
25b3417080
Spinach: add stats metadata setting; 2nd to last warning time remaining message is now yellow'
2019-04-28 00:21:15 -07:00
Pragmatic Software
7de3cb6dd1
Spinach: show expression used in output for rank expr
2019-04-27 19:09:43 -07:00
Pragmatic Software
8bd1a00ce2
Rectify minor whitespace ugliness
2019-04-27 14:45:59 -07:00
Pragmatic Software
2e41641037
Update version
2019-04-27 14:40:37 -07:00
Pragmatic Software
1a74f7287e
Spinach: rank can now accept arbitrary expressions
2019-04-27 14:40:28 -07:00
Pragmatic Software
9707e133ff
Spinach: remove ^(THE|A|AN) in answer normalization; fix rolling average score calculation
2019-04-26 22:20:54 -07:00
Pragmatic Software
c15740a820
Spinach: remove decimals from avgscore output
2019-04-26 12:44:20 -07:00
Pragmatic Software
a599a78444
ChanOps: Don't attempt to gain ops for disabled channels
2019-04-25 14:11:54 -07:00
Pragmatic Software
a927ee27a2
Update version
2019-04-24 23:04:15 -07:00
Pragmatic Software
59b5f61de3
Spinach: Rename Stats.pm and Statskeeper.pm
2019-04-24 23:04:09 -07:00
Pragmatic Software
1c5ed2fb0e
Update version
2019-04-24 03:55:56 -07:00
Pragmatic Software
940b40e24f
Spinach: add stats tracking and ranking
2019-04-24 03:55:48 -07:00
Pragmatic Software
b2b74875e1
Spinach: Add settings metadata: category_autopick and min_players
2019-04-23 18:41:57 -07:00
Pragmatic Software
0b0390dbd7
Spinach: add set/unset commands to modify metadata
2019-04-23 18:22:52 -07:00
Pragmatic Software
781faa678b
Spinach: use HashObject to store metadata
2019-04-23 17:59:39 -07:00
Pragmatic Software
958c0bfeb5
Update version
2019-04-22 15:51:20 -07:00
Pragmatic Software
7542e1041f
Spinach: Persist filters
2019-04-22 15:51:09 -07:00
Pragmatic Software
f61addcbac
Update Spinach filter to distinct inclusion and exclusion
2019-04-21 20:48:07 -07:00
Pragmatic Software
85841ea45c
Spinach categories can now be filtered
2019-04-21 19:00:17 -07:00
mannito
d179b87c52
Connect4 fixes: board display and challenge options parsing ( #48 )
...
* Connect4: Fix winner_line display logic
* Connect4: Fix challenge options parsing and cleanup.
* Connect4: saner board sizes and error messages
2019-04-21 02:19:48 -07:00
Pragmatic Software
c1f9c902c8
Update version
2018-08-13 20:06:13 -07:00
Pragmatic Software
42f0bb7002
Interpreter: ignore bot commands from unidentified users in +z channels
2018-08-13 20:06:07 -07:00
Pragmatic Software
93b386b0ca
RelayUnreg: Correct notification timeout behavior
2018-08-13 20:05:42 -07:00
Pragmatic Software
07c9762cb7
Update version
2018-08-13 14:26:01 -07:00
Pragmatic Software
75f6d86a88
AntiFlood: disregard unreg spam floods on +z channels
2018-08-13 14:25:35 -07:00
Pragmatic Software
8e615fe6a3
MessageHistory: ensure host is always normalized for get_message_account()
2018-08-13 14:24:37 -07:00
Pragmatic Software
fb2124632a
AntiRepeat: Disregard unregistered spam
2018-08-13 14:23:47 -07:00
Pragmatic Software
05b1159421
RelayUnreg: limit notification to once every 15 minutes
2018-08-13 14:23:13 -07:00
Pragmatic Software
6929e1ed5d
Update version
2018-08-10 22:57:06 -07:00
Pragmatic Software
147c7337d8
No URL titles for unidentified users
2018-08-10 22:57:00 -07:00
Pragmatic Software
4324fe5db3
Update version
2018-08-10 13:14:01 -07:00
k
a19f40251d
Fix some broken ,fact behavior ( #49 )
2018-08-10 13:12:24 -07:00
Pragmatic Software
0fd8e595a5
Update version
2018-08-09 22:44:32 -07:00
Pragmatic Software
16b708851a
Replace missed split with split_args
2018-08-09 22:44:28 -07:00
Pragmatic Software
e3df4f3f8e
Update version
2018-08-09 10:55:59 -07:00
Pragmatic Software
5fe46db2ce
Add quotes around keys in more places
2018-08-09 10:55:53 -07:00
Pragmatic Software
1bedb74720
Update version
2018-08-08 17:58:55 -07:00
Pragmatic Software
8af3682dc3
Add quotes around keywords with spaces in output messages
2018-08-08 17:58:53 -07:00
Pragmatic Software
f255bca0ca
Update version
2018-08-08 17:39:02 -07:00
Pragmatic Software
174de2be8e
Update all commands to understand quoted arguments; factoid names, etc, can now contain spaces
2018-08-08 17:38:57 -07:00
Pragmatic Software
bbe817cd28
Update version
2018-08-06 20:24:19 -07:00
Pragmatic Software
3141397632
AntiSpam: use positional arguments; minor text changes
2018-08-06 20:24:15 -07:00
Pragmatic Software
6454ff82aa
Interpreter: support array of positional arguments
2018-08-06 20:23:35 -07:00
Pragmatic Software
99e0182e11
Update version
2018-08-06 18:47:13 -07:00
Pragmatic Software
7b20a00797
Interpreter: improve parsing of pipes
2018-08-06 18:47:07 -07:00
Pragmatic Software
3007096546
Update version
2018-08-06 11:24:09 -07:00
Pragmatic Software
bb11282e13
AntiSpam: "unless" is too confusing
2018-08-06 11:24:05 -07:00
Pragmatic Software
e861c9dea2
Update version
2018-08-06 11:09:16 -07:00
Pragmatic Software
d10acb815b
AntiSpam: Oops, inverted "unless" logic. Tricky, tricky "unless"!
2018-08-06 11:09:13 -07:00
Pragmatic Software
a15da5a71b
Update version
2018-08-06 11:02:01 -07:00
Pragmatic Software
d433043b02
RelayUnreg: use all AntiSpam namespaces
2018-08-06 11:01:58 -07:00
Pragmatic Software
e0e4bfd59c
AntiSpam: rename channel to namespace; add $all_namespaces parameter
2018-08-06 11:01:23 -07:00
Pragmatic Software
5c3934781f
Update version
2018-08-06 10:13:21 -07:00
Pragmatic Software
fd92ba33ab
Update version
2018-08-06 09:49:06 -07:00
Pragmatic Software
2353bdde1c
UrlTitles: disregard the specific spam URL instead of entire message
2018-08-06 09:49:03 -07:00
Pragmatic Software
e33504db93
Update version
2018-08-06 09:41:23 -07:00
Pragmatic Software
a8d8c90454
UrlTitles: check urls against AntiSpam
2018-08-06 09:41:18 -07:00
Pragmatic Software
96d23b6177
Update version
2018-08-05 22:52:32 -07:00
Pragmatic Software
b676e810d8
Spinach: slightly less strict validate_lie
2018-08-05 22:52:29 -07:00
Pragmatic Software
82720e3da8
RelayUnreg: replace banned check with new is_banned(); check for +z; use AntiSpam::is_spam
2018-08-05 22:50:22 -07:00
Pragmatic Software
65644815e0
Interpreter: check for +z chanmode and ignore commands from banned users
2018-08-05 22:48:24 -07:00
Pragmatic Software
9243a40228
Track and remember channel modes and topicinfo
2018-08-05 22:47:38 -07:00
Pragmatic Software
c57d7550ea
AntiFlood: remove useless use statement
2018-08-05 22:45:40 -07:00
Pragmatic Software
1f43e003d8
Channels: add get_meta() convenience subroutine
2018-08-05 22:44:46 -07:00
Pragmatic Software
4e996717c8
HashObject: add $dont_save parameter to set()
2018-08-05 22:43:57 -07:00
Pragmatic Software
d29eb06cc5
BanTracker: add is_banned() convenience subroutine
2018-08-05 22:42:29 -07:00
Pragmatic Software
6bcab79275
Add AntiSpam module
2018-08-05 22:41:08 -07:00
Pragmatic Software
ed7dd19460
Rename RegisterNickserv.pm to RelayUnreg.pm
2018-08-05 20:04:03 -07:00
Pragmatic Software
d6715fad8d
Do not infinitely WHO empty/non-channels
2018-08-03 13:38:28 -07:00
Pragmatic Software
99656ec9ba
Update version
2018-08-03 12:32:21 -07:00
Pragmatic Software
cd751c290c
RegisterNickserv: Do not relay messages if user is +v
2018-08-03 12:32:16 -07:00
Pragmatic Software
772ea03ddf
NickList now tracks user modes as metadata
2018-08-03 12:31:45 -07:00
Pragmatic Software
f18426be16
Fix minor undefined value warning
2018-08-03 12:29:55 -07:00
Pragmatic Software
80d6643b28
Update version
2018-08-03 07:30:13 -07:00
Pragmatic Software
6149f0faee
RegisterNickserv: ensure speaker is not banned or muted before relaying message
2018-08-03 07:30:07 -07:00
Pragmatic Software
3bf4ba9c55
Update version
2018-07-31 17:23:19 -07:00
Pragmatic Software
6c31f3e1b7
Minor correction
2018-07-31 17:23:15 -07:00
Pragmatic Software
50d859cb0b
Remove annoying log message
2018-07-31 17:21:37 -07:00
Pragmatic Software
0a8cef3c2a
Clear current NickServ account when logged out
2018-07-31 17:21:15 -07:00
Pragmatic Software
b5b513fb77
Update version
2018-07-31 16:35:59 -07:00
Pragmatic Software
21be299033
RegisterNickserv: Add SASL link
2018-07-31 16:35:56 -07:00
Pragmatic Software
ada9a012e7
Update version
2018-07-31 16:20:53 -07:00
Pragmatic Software
42f967e411
RegisterNickserv: Queue unregistered messages to see if speaker gets killed or leaves
2018-07-31 16:20:49 -07:00
Pragmatic Software
7e47d513b4
Update version
2018-07-31 13:29:58 -07:00
Pragmatic Software
be9f01bc48
Add RegisterNickserv plugin
2018-07-31 13:29:52 -07:00
Pragmatic Software
173cbeadac
Update version
2018-07-08 17:10:59 -07:00
Pragmatic Software
80bcf56bfe
Battleship: improve "you will now attack" message
2018-07-08 17:10:50 -07:00
Pragmatic Software
2380761186
Update version
2018-07-07 15:04:21 -07:00
Pragmatic Software
67ab8920e9
Connect4: fix code indentation and whitespace
2018-07-07 15:04:02 -07:00
mannito
bf5a9b2d46
Connect4: variable board size and fixes ( #46 )
...
* Connect4: Fixes column_top and parameterized board size
* Connect4: Show legend on top of the board
2018-07-07 15:01:07 -07:00
mannito
5fcbe429a2
Add Connect4 game Plugin ( #45 )
...
Connect4 game Plugin
2018-07-06 22:29:19 -07:00
Pragmatic Software
fd536af23b
Update version
2018-07-05 19:57:57 -07:00
Pragmatic Software
9b58f763e4
fix Net::IRC pacing
2018-07-05 19:57:54 -07:00
Pragmatic Software
b585b161ca
Update version
2018-07-05 15:34:44 -07:00
Pragmatic Software
1231c7b682
Battleship: Draw border on right and bottom too
2018-07-05 15:34:40 -07:00
Pragmatic Software
9f54843e40
Update version
2018-07-05 15:19:15 -07:00
Pragmatic Software
cbfa6e8b11
Battleship: Show player names when showing initial battlefield
2018-07-05 15:19:10 -07:00
Pragmatic Software
74a60bdc1b
Update version
2018-07-05 14:46:57 -07:00
Pragmatic Software
b6aedc87bf
Battleship: improve scoreboard
2018-07-05 14:46:53 -07:00
Pragmatic Software
b9e5fbc2a0
Update version
2018-07-05 11:44:04 -07:00
Pragmatic Software
501615146a
Update version
2018-07-04 14:36:26 -07:00
Pragmatic Software
aa0a8240dc
Battleship: improve legend; make board 7x10
2018-07-04 14:36:19 -07:00
Pragmatic Software
48328aa04b
Update version
2018-07-03 20:03:54 -07:00
Pragmatic Software
c6e7b7bf6a
Battleship: prevent minor hiccup in ultra-fast-paced movement
2018-07-03 20:03:49 -07:00
Pragmatic Software
d5ce7940fe
Update version
2018-07-02 23:34:16 -07:00
Pragmatic Software
7b6bb688be
Improve Net::IRC pacing to ignore pacing for initial 8 lines in a squelch
2018-07-02 23:34:11 -07:00
Pragmatic Software
c1db40d216
Battleship: balanced board and queue commands
2018-07-02 23:33:22 -07:00
Pragmatic Software
0243b4fd0f
Update version
2018-07-01 22:37:28 -07:00
Pragmatic Software
684ed5351f
Fix Battleship win condition bug from previous commit
2018-07-01 22:37:25 -07:00
Pragmatic Software
4316e0c6de
Update version
2018-07-01 20:39:58 -07:00
Pragmatic Software
70d97e129c
Refactor Battleship: fixed turn issues
2018-07-01 20:39:55 -07:00
Pragmatic Software
72c0cbe4f0
Update version
2018-07-01 19:43:30 -07:00
Pragmatic Software
717f40ccb5
More Battleship improvements
2018-07-01 19:43:27 -07:00
Pragmatic Software
2515113104
Update version
2018-07-01 18:47:02 -07:00
Pragmatic Software
117b7c2348
Battleship: no-arg challenge
issues open-ended challenge
2018-07-01 18:46:58 -07:00
Pragmatic Software
5e45e7a741
Update version
2018-07-01 17:01:23 -07:00
Pragmatic Software
3298f5a27b
Battleship improvements
2018-07-01 17:01:18 -07:00
Pragmatic Software
b64758869e
Update version
2018-07-01 03:07:50 -07:00
Pragmatic Software
272f7dfb56
Add Battleship plugin
2018-07-01 03:07:44 -07:00
Pragmatic Software
f1a7807b38
Enable IRC output queue pacing/throttling
2018-07-01 03:07:30 -07:00
Pragmatic Software
941466f7fa
Update version
2018-06-05 22:59:36 -07:00
Pragmatic Software
fc4fbc6af3
Group comma-separated bans/mutes together in one MODE
2018-06-05 22:59:33 -07:00
Pragmatic Software
4d6c3d14ca
Update version
2018-06-05 18:28:06 -07:00
Pragmatic Software
e76bb3f46a
ban and mute now accept comma-separated targets
2018-06-05 18:28:03 -07:00
k
9d8940fee2
Make unmute and unban more smarter about argument order ( #40 )
...
* clean up unban and unmute
* unmute and unban are now smart about argument order
2018-06-05 17:55:59 -07:00
Pragmatic Software
430017abf9
Update version
2018-06-05 15:53:04 -07:00
k
2f190a57c3
extend unmute to automagically unmute all of a user's hosts ( #39 )
2018-06-05 15:02:02 -07:00
Pragmatic Software
4f6993efb4
Update version
2018-05-21 19:28:00 -07:00
Pragmatic Software
e1028f84a2
Fix escaping of pipes and command substitutions
2018-05-21 19:27:57 -07:00
Pragmatic Software
9279c228dd
Update version
2018-05-21 18:06:36 -07:00
Pragmatic Software
4f54ee669c
Do not do me/my expansion for a few more commands
2018-05-21 18:06:32 -07:00
Pragmatic Software
c7e40a25ec
Update version
2018-05-21 18:02:20 -07:00
Pragmatic Software
89f38026d3
Fix preserve whitespace setting
2018-05-21 18:02:16 -07:00