3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-09 05:29:33 +01:00
Commit Graph

2102 Commits

Author SHA1 Message Date
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