Pragmatic Software
652cad7ddf
Fix factundo on deleted factoids
2017-10-04 17:56:16 -07:00
Pragmatic Software
0ab6a46008
Update version
2017-10-04 11:32:29 -07:00
Pragmatic Software
e1db291c35
Fix captures in factchange
regex
2017-09-29 12:40:40 -07:00
Pragmatic Software
492ee7b6a4
Update version
2017-09-29 12:07:59 -07:00
Pragmatic Software
688cafde3c
factchange
now understands modifiers like /g and /i, etc
2017-09-29 12:07:50 -07:00
Pragmatic Software
d0c2395d25
Update version
2017-09-27 22:44:53 -07:00
Pragmatic Software
9af866a65a
Update version
2017-09-23 21:04:33 -07:00
Pragmatic Software
ab7aa990a0
Add :json modifier to escape variables for JSON
2017-09-23 21:04:21 -07:00
Pragmatic Software
346dcd3320
Uh, fix weird typo
2017-09-21 11:52:45 -07:00
Pragmatic Software
339e677732
Update version
2017-09-18 21:36:48 -07:00
Pragmatic Software
807bfbf235
Persist-key now works on VM-based code-factoids
2017-09-18 21:36:40 -07:00
Pragmatic Software
5062dc0be9
Remove annoying /msg about kicking
2017-09-18 21:24:30 -07:00
Pragmatic Software
4c5aa39c1b
Update version
2017-09-15 16:41:50 -07:00
Pragmatic Software
e43d2ef144
Improvements to code-factoids
...
Most code languages now accept factoida arguments as command-line
arguments; e.g., argc and argv in C/C++, args[] in Java, @ARGV in Perl, etc.
No longer say "Same output" for code-factoids.
2017-09-15 16:41:36 -07:00
Pragmatic Software
1ec94d6956
Update version
2017-09-14 19:37:46 -07:00
Pragmatic Software
cf960261aa
Update version
2017-09-12 05:53:57 -07:00
Pragmatic Software
eaad5b1c65
Update version
2017-09-12 05:50:55 -07:00
Pragmatic Software
4389d01b54
code-factoids now support native variables (currently only C-family and Perl are implemented)
2017-09-12 05:50:49 -07:00
Pragmatic Software
a03c1c1d0d
Update version
2017-09-10 19:53:33 -07:00
Pragmatic Software
85693f905a
Convert code-factoids to use VM
...
Code-factoids can now use the compiler virtual machine. Any languages installed
in the VM are valid candidates for code-factoids!
Syntax: factadd keyword /code language code here
2017-09-10 19:53:29 -07:00
Pragmatic Software
278fffdad6
Use re2 for regfind and factfind
2017-09-09 22:37:11 -07:00
Pragmatic Software
58f21b3bf7
Add newlines to ActionTrigger list
2017-09-09 22:32:14 -07:00
Pragmatic Software
f15423774b
Update version
2017-09-09 18:23:13 -07:00
Pragmatic Software
7792fd9bb0
Update version
2017-09-05 17:22:57 -07:00
Pragmatic Software
8f9875cf18
Correct $tonick/$nick behavior in factiod interpolation
2017-09-05 17:22:47 -07:00
Pragmatic Software
9a082ede38
Restrict factsetting action
to admins
2017-09-05 17:20:23 -07:00
Pragmatic Software
fd8a43c9cd
factundo/factredo now respect locked metadata
2017-09-05 02:18:02 -07:00
Pragmatic Software
3fa44a1a19
Update version
2017-09-05 00:48:17 -07:00
Pragmatic Software
d6a845f988
Do some basic string validation for factoids and such
2017-09-05 00:27:28 -07:00
Pragmatic Software
5262934e0d
Improve Logger text escaping
2017-09-05 00:18:35 -07:00
Pragmatic Software
c3938ed8bb
Add ValidateString utilities
2017-09-05 00:18:03 -07:00
Pragmatic Software
a805fe26e4
Use SafeFilename in factlog and factundo/redo
2017-09-04 19:07:10 -07:00
Pragmatic Software
5e6e5cb21d
Add SafeFilename module
2017-09-04 19:06:31 -07:00
Pragmatic Software
47e295f8cd
Add ParseDate plugin
2017-09-03 20:46:34 -07:00
Pragmatic Software
b6aecce701
Temporarily disable code-factoids
...
There are a wide range of potential denial-of-service attacks possible
without severely restricting the allowed opcodes. As such, we are
setting code-factoids' default state to disabled. Enable at your own risk.
There are plans to move the code-factoid logic to a virtual machine.
2017-09-03 01:38:25 -07:00
Pragmatic Software
58a629eca4
Correct 0-value factoid var expansion
2017-09-02 01:44:57 -07:00
Pragmatic Software
a2cd25facd
factundo and factlog now handle deleted factoids
2017-09-02 01:05:11 -07:00
Pragmatic Software
12a92ea7d3
Replace control chars with escaped ordinals
2017-09-02 00:40:46 -07:00
Pragmatic Software
1b70de807b
Change split / / to split /\s+/ throughout
2017-09-02 00:39:29 -07:00
Pragmatic Software
793303fcde
Fix factoid var expansion such that 0 can now be yielded
2017-09-02 00:27:01 -07:00
Pragmatic Software
5ee07e08d2
Replace control chars with escaped ordinals
2017-09-02 00:19:39 -07:00
Pragmatic Software
2f014ba2f0
Use /say on returns whose first word is a variable
2017-09-02 00:14:13 -07:00
Pragmatic Software
5cd0f85e65
Strip control characters from log messages
2017-08-31 03:30:22 -07:00
Pragmatic Software
678d82676d
Add interpolate
factoid metadata to control interpolation
2017-08-31 03:10:20 -07:00
Pragmatic Software
d20ea65155
Update version
2017-08-31 00:04:37 -07:00
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
Pragmatic Software
1f1631935b
Update version
2015-11-20 21:11:45 -08:00
Pragmatic Software
4cd1211684
Improve unbanme handling
...
Sometimes people might join the channel uncloaked and get join-flood banned
with their uncloaked hostmask, and then later attempt to join the channel while
cloaked but the network will prevent them from joining since it checks their IP
address against the banlist in addition to their cloak.
Attempts to use unbanme while cloaked will look for a ban matching the cloak
instead of the IP address and will not find their uncloaked join-flood ban.
To fix this, we now traverse all known aliases/hostmasks for an individual
requesting a join-flood unban and remove any and all bans matching any of the
hostmasks linked to this individual.
2015-11-20 21:08:30 -08:00
Pragmatic Software
742eb849e8
Remove duplicate blank line
2015-11-20 21:02:21 -08:00
Pragmatic Software
77d94af516
Update version
2015-10-25 04:01:48 -07:00
Pragmatic Software
aa749860c0
Look for module in global channel before falling back to local channel
2015-10-25 04:01:45 -07:00
Pragmatic Software
4f875f9c4c
Update version
2015-10-19 12:21:50 -07:00
Pragmatic Software
89eda8f0a9
Fix undefined variable warning in find_factoid
2015-10-19 12:21:42 -07:00
Pragmatic Software
b23f025a12
Update version
2015-10-10 06:07:30 -07:00
Pragmatic Software
43418c1bc6
Require curly braces or backticks around embedded commands
2015-10-10 06:07:24 -07:00
Pragmatic Software
8bb7dfece6
Update version
2015-10-10 04:27:39 -07:00
Pragmatic Software
930801a5fb
Require curly braces or backticks around embedded commands
2015-10-10 04:27:36 -07:00
Pragmatic Software
f364075bff
Update version
2015-10-06 17:35:28 -07:00
Pragmatic Software
0fb098ded1
Update version
2015-10-05 02:11:55 -07:00
Pragmatic Software
54b8750d1b
Allow adding channels as factoid adlib modifier
2015-10-05 02:11:52 -07:00
Pragmatic Software
2c59908ee8
Update version
2015-10-05 02:03:17 -07:00
Pragmatic Software
cf72a11658
Improve factoid expansions
2015-10-05 02:03:13 -07:00
Pragmatic Software
0f0797c0ee
Update version
2015-10-02 20:14:53 -07:00
Pragmatic Software
a5c700eec3
Correct encode_entities() in export_factoids() for URLs, etc
2015-10-02 20:14:48 -07:00
Pragmatic Software
52d437f0da
Update version
2015-10-02 20:06:28 -07:00
Pragmatic Software
dc2f372551
Add missing encode_entities() to export_factoids()
2015-10-02 20:06:25 -07:00
Pragmatic Software
f5c1846458
Update version
2015-09-30 09:51:06 -07:00
Pragmatic Software
01f543b3b7
Fix recall from /msg not ignoring the command itself
2015-09-30 09:51:04 -07:00
Pragmatic Software
a3df01bae3
Escape delim in factchange
command to allow delimiters such as the pipe character
2015-09-30 09:50:37 -07:00
Pragmatic Software
a562f79956
Update version
2015-09-19 20:02:16 -07:00
Pragmatic Software
43c0361354
Add botnick to "Why would I want to do that to myself?" condition
2015-09-19 20:02:11 -07:00
Pragmatic Software
5abf047602
Update version
2015-09-19 00:27:18 -07:00
Pragmatic Software
04aaeb5475
Fix handling of no factoid found from find_factoid()
2015-09-19 00:27:15 -07:00
Pragmatic Software
d4eb08856a
Fix recall logic for integer history
2015-09-18 17:45:25 -07:00
Pragmatic Software
8691e6d7bb
Update version
2015-09-17 22:18:22 -07:00
Pragmatic Software
43db8ab34e
Update version
2015-09-14 10:32:09 -07:00
Pragmatic Software
b5c5162ad0
Minor refactor of title
case of adlib modifier
2015-09-14 10:29:28 -07:00
Pragmatic Software
739c28125b
Remove extraneous whitespace
2015-09-14 10:25:16 -07:00
Pragmatic Software
e1d557e75f
Update version
2015-09-14 10:22:58 -07:00
Pragmatic Software
aed3f34c43
Add optional modifiers to factoid variables
...
Adlib list variables can now accept trailing modifier keywords prefixed with
a colon. These can be chained together to combine their effects.
:uc - uppercases the expansion
:lc - lowercases the expansion
:ucfirst - uppercases the first letter in the expansion
:title - lowercases the expansion and then uppercases the first letter
(effectively an alias for :lc:ucfirst)
Examples:
<pragma_> echo $colors:uc
<candide> RED
<pragma_> echo $colors:ucfirst
<candide> Blue
2015-09-14 10:22:55 -07:00
Pragmatic Software
d6319b27c5
Update version
2015-09-14 09:06:48 -07:00
Pragmatic Software
ebc7cb9579
Move enter-abuse logic to after chat flood logic to prevent enter-abuse warning and chat flood ban happening at the same time
2015-09-14 09:06:43 -07:00
Pragmatic Software
ecaa45b3dc
Expand factoid variables sooner so argument processing occurs on expanded action
2015-09-14 09:06:00 -07:00
Pragmatic Software
ddeb70f1e3
Update version
2015-09-12 01:52:47 -07:00
Pragmatic Software
50fa9ff706
Improve recall
error message when no history is found
...
`recall` now shows all channels a nick was seen in if they weren't seen in
the requested channel.
2015-09-12 01:52:45 -07:00
Pragmatic Software
dfcef63e5e
Update version
2015-09-10 01:51:31 -07:00
Pragmatic Software
70f091545b
Replace "me" in factoid arguments only during first interpretation pass
2015-09-10 01:51:24 -07:00
Pragmatic Software
d8183fc405
Update version
2015-09-09 05:24:18 -07:00
Pragmatic Software
7ce40fca4d
Correct use/package paths
2015-09-09 05:24:16 -07:00
Pragmatic Software
a158e4458f
Rename Plugins/_Readme to Plugins/README
2015-09-08 11:50:14 -07:00
Pragmatic Software
8e188b9013
Correct minor typos in description comment
2015-09-08 11:46:08 -07:00
Pragmatic Software
12cd20c072
Update version
2015-09-08 11:42:47 -07:00
Pragmatic Software
17e4cdb8b3
Move Quotegrabs to Plugins
2015-09-08 11:42:43 -07:00
Pragmatic Software
de2774ed00
Update version
2015-09-08 05:30:06 -07:00
Pragmatic Software
6d8b6532b6
Immediate leave UrlTitles if message doesn't contain a URL
2015-09-08 05:30:02 -07:00
Pragmatic Software
c9711e5fa4
Update version
2015-09-08 04:43:26 -07:00
Pragmatic Software
6c5c263ed2
Move URL titles conditional out of loop
2015-09-08 04:43:24 -07:00
Pragmatic Software
c57c9e2f13
Update version
2015-09-08 01:38:02 -07:00
Pragmatic Software
391cd91191
Add $event->{interpreted} example to _Example plugin
2015-09-08 01:37:59 -07:00
Pragmatic Software
e5097eee69
Move URL titles to UrlTitles.pm plugin
...
Add $event->{interpreted} field to events to notify other handlers
whether an event was successfully interpreted by the interpreter.
An $event->{interpreted} that is equal to or greater than 100 means the entire
message was consumed and handlers shouldn't do any further processing of it
that would generate any output to channels or users.
Otherwise, $event->{interpreted} is incremented by 1 for each referenced
command that was processed.
2015-09-08 01:37:34 -07:00
Pragmatic Software
fa2865fb10
Fix potential undefined variable warning
2015-09-08 01:30:08 -07:00
Pragmatic Software
d51d2367a1
Correct logic of login
command ignore check
2015-09-07 05:04:54 -07:00
Pragmatic Software
1582b35db9
Update version
2015-09-07 00:20:11 -07:00
Pragmatic Software
efcca90444
Revert unplug error message
2015-09-07 00:20:06 -07:00
Pragmatic Software
5c83ea62f3
Rename Pluggable to Plugins
2015-09-06 22:53:49 -07:00
Pragmatic Software
70a3a2a354
Update version
2015-09-06 22:52:43 -07:00
Pragmatic Software
adfdccfd27
Rename Pluggable to Plugins
2015-09-06 22:52:39 -07:00
Pragmatic Software
729728a458
Update version
2015-09-06 22:39:59 -07:00
Pragmatic Software
0b74dd070d
Pass PBot %conf to auto-loaded plugins
2015-09-06 22:39:40 -07:00
Pragmatic Software
8d666984dc
Move AntiAway and AntiKickAutoRejoin to Pluggable
2015-09-06 22:38:59 -07:00
Pragmatic Software
539aeb3e9f
Change "not found" to "failed to load"
2015-09-06 22:22:37 -07:00
Pragmatic Software
ce3a3d4b9b
Update version
2015-09-06 22:17:20 -07:00
Pragmatic Software
0d7f0bf184
Add loadable core plugins
...
These are different from the loadable factoid modules. The factoid modules
are external executable shell commands that take stdin as arguments and print
to stdout as a return value. As such, they are not integrated into the bot
and cannot make use of the bot's internal subroutines.
These plugins are loaded internally and integrated into the bot such that they
can interface with the bot's internal subroutines and state.
All files in the Pluggable directory not beginning with an underscore will be
automatically loaded at bot start-up.
Plugins (including those starting with an underscore) can be manually loaded
or unloaded with the `plug` and `unplug` commands. Use `pluglist` to list
loaded plugins.
2015-09-06 22:17:07 -07:00
Pragmatic Software
f8dba73d02
Correct name of file in error message
2015-09-06 22:04:46 -07:00
Pragmatic Software
16f467252b
Do not process server NOTICES as public messages
...
Add time-out to automatically unban ##fix_your_connection ban-forwards
2015-09-06 22:04:21 -07:00
Pragmatic Software
bff1aa34d7
Update version
2015-09-03 20:56:48 -07:00
Pragmatic Software
8c16fbd3e5
Allow factoids to be referenced from within messages
...
E.g.,
<pragma-> Userbob: You can learn more about candide by reading its !help page and checking out its !source
<candide> Userbob: To learn all about me, see http://www.iso-9899.info/wiki/Candide
<candide> Userbob: My guts can be browsed at https://github.com/pragma-/pbot
Only three triggers will be processed per message. (I should create a
registry entry to customize this.)
Messages that are addressed at a specific user that exists in the channel will
have that user's name prepended to the factoid output.
Factoid triggers that are referenced from within messages will not produce
error messages if the factoid is not found.
Factoids that have an $arg or $nick special variable will not be triggered as
a reference.
Factoids that have the `noembed` meta-data value set to a true value will not
be invoked as a reference.
2015-09-03 20:56:44 -07:00
Pragmatic Software
d570dd7dd4
Fix undefined variable warnings in recall
2015-09-03 20:50:07 -07:00
Pragmatic Software
675760289c
Allow wild-card in recall/grab text
...
Do not iterate through weak links when looking for also-known-as
2015-09-03 20:49:06 -07:00
Pragmatic Software
8e1f008f9b
Redirect NOTICEs as public messages (anti-flood, command parsing, etc)
2015-09-03 20:46:12 -07:00
Pragmatic Software
34a653b05a
Stop appending !*@* to $a:account banmasks
2015-09-03 20:44:33 -07:00
Pragmatic Software
97bbb298e4
Allow bot admins to factset factoids from /msg
...
Fix some channel/from discrepancies in factset, etc.
2015-09-03 20:43:16 -07:00
Pragmatic Software
b6f7dd87e5
Update version
2015-08-22 11:05:57 -07:00
Pragmatic Software
050714e359
Improve ban
command to accept nick as argument and determine an appropriate banmask
2015-08-22 11:05:53 -07:00
Pragmatic Software
d317f2a0c5
Update version
2015-08-19 22:26:32 -07:00
Pragmatic Software
eb8a49cc74
Improve unban
command to find all matching bans given a nick argument
...
Instead of only taking a hostmask argument, `unban` will now determine
if the argument is a nick, and if so it will then find all bans that
match various hostmasks used by that nick and unban them all.
2015-08-19 22:26:28 -07:00
Pragmatic Software
f5b23532ae
Update version
2015-08-16 05:21:02 -07:00
Pragmatic Software
3fa12c208e
Improve handling of word-boundaries in searches
2015-08-16 05:20:57 -07:00
Pragmatic Software
b15267c587
Update version
2015-08-08 12:40:12 -07:00
Pragmatic Software
260b1405a7
Enforce nick-change flood on Guest nicks
2015-08-08 12:40:06 -07:00
Pragmatic Software
499d91e07d
Do not exempt bot-admins lower than level 10 from ignore list
2015-08-08 12:39:17 -07:00
Pragmatic Software
89c1ad7efa
Update version
2015-08-05 12:29:10 -07:00
Pragmatic Software
35653cb996
Add word-boundaries around text searches
2015-08-05 12:28:15 -07:00
Pragmatic Software
2d875dc5fd
Update version
2015-07-28 17:50:09 -07:00
Pragmatic Software
025a8bfc38
Set ##stop_join_flood bans in $channel-floodbans to reduce channel noise
2015-07-28 17:50:06 -07:00
Pragmatic Software
028fe40a8b
Correct location of alias_type
2015-07-28 17:49:18 -07:00
Pragmatic Software
154b46194f
Use comma-separated list of channels when auto-joining to reduce IRC commands
2015-07-28 17:47:53 -07:00
Pragmatic Software
9cf59888c0
join_channel() can now take a comma-separated list of channels and issue them as one IRC command
2015-07-28 17:47:22 -07:00
Pragmatic Software
f6a99818f0
Update version
2015-07-23 17:47:19 -07:00
Pragmatic Software
dbfb8a6add
Remove unnecessary printing of ignored messages
2015-07-23 17:47:16 -07:00
Pragmatic Software
bded959ba4
Remove unnecessary logic
2015-07-23 17:46:33 -07:00
Pragmatic Software
cc9f4926ee
Make channel argument optional for factrem as well
2015-07-23 17:46:01 -07:00
Pragmatic Software
5305ac43a9
Update version
2015-07-21 15:07:58 -07:00
Pragmatic Software
ba87aef524
Improve factshow/factfind behavior
...
factshow's and factfind's channel argument is now optional.
The commands will now automatically determine the channel a factoid lives in
if it is the only factoid of that name.
If there are multiple factoids existing in different channels then the commands
will display a disambiguation message and require an explicit channel argument
to choose a specific channel's factoid.
2015-07-21 15:07:56 -07:00
Pragmatic Software
8cdad15207
Show enter-abuse warning message just before it would temp-ban
...
Fix address_to_mask regex
2015-07-21 13:44:42 -07:00
Pragmatic Software
9194f3e871
Update version
2015-07-18 08:13:23 -07:00
Pragmatic Software
1fed4d4de5
Update version
2015-07-17 00:33:09 -07:00
Pragmatic Software
454d305605
Update version
2015-07-15 00:18:59 -07:00
Pragmatic Software
850c8a0525
Add weak/strong also-known-as linking
...
PBot will now use weak links if the ip address portion of a hostmask
hasn't been seen in the last 48 hours in order to prevent false-positive
linking of dynamic ip addresses.
Weak links are excluded from ban-evasion logic.
Weak links can be manually upgraded to strong links with the `akalink`
command if a human confirms they are the same person through the `aka -w`
command.
Individuals with matching nicks or matching nickserv accounts, etc, will
automatically be strongly linked, as usual.
2015-07-15 00:18:57 -07:00
Pragmatic Software
6a6eff1150
Support nat cloaks for banmasks
2015-07-14 07:29:27 -07:00
Pragmatic Software
cbd4e182a6
Update version
2015-07-13 04:01:06 -07:00
Pragmatic Software
4b66f61552
Update version
2015-07-13 02:47:32 -07:00
Pragmatic Software
04f1672f19
Update some admin levels
2015-07-13 02:47:30 -07:00
Pragmatic Software
7e76a77b09
Update version
2015-07-12 02:54:28 -07:00
Pragmatic Software
120922d840
Update version
2015-07-09 23:25:37 -07:00
Pragmatic Software
9376c65b24
Allow optionally using name instead of hostmask in adminset/adminunset/adminrem commands
2015-07-09 23:25:31 -07:00
Pragmatic Software
e3eb698f27
Properly show/hide star for logged in admins in list admins
2015-07-09 23:24:39 -07:00
Pragmatic Software
241c30b4f4
Do not override special variables in expand_factoid_vars()
2015-07-09 23:24:00 -07:00
Pragmatic Software
adc5e39e2f
Update version
2015-07-09 07:15:41 -07:00
Pragmatic Software
d302587829
Enter-abuse anti-flood settings can now be overridden per-channel
2015-07-09 07:15:32 -07:00
Pragmatic Software
18b1900fbe
Update version
2015-07-08 14:06:05 -07:00
Pragmatic Software
7cc8b9c34d
Allow chat-flood antiflood settings to be overridable on a per-channel basis
2015-07-08 14:05:55 -07:00
Pragmatic Software
ed810dc9d9
Update version
2015-07-06 20:01:22 -07:00
Pragmatic Software
1179a7e1f1
Don't remove dollar-sign from unexpanded factoid vars
2015-07-06 20:01:17 -07:00
Pragmatic Software
ed63fb3766
Update version
2015-07-06 19:40:33 -07:00
Pragmatic Software
90b89941cf
Update version
2015-07-06 19:39:35 -07:00
Pragmatic Software
a0c798dd2a
Expand factoid variables in /call statements
...
This allows us to call random factoids.
E.g.:
factadd global fact1 is /say This is fact1.
factadd global fact2 is /say Fact2 is also a pretty neat fact.
factadd global fact3 is /say But don't forget about fact3!
factadd global facts is fact1 fact2 fact3
factadd global randomfact is /call $facts
Invoking the `randomfact` factoid will now randomy pick between
fact1, fact2 and fact3.
This was added to support the `randomkr` factoid.
2015-07-06 19:39:33 -07:00
Pragmatic Software
714f79fb2e
Update version
2015-07-05 17:49:21 -07:00
Pragmatic Software
6c9c9d285b
Revert chmod
2015-07-05 17:49:06 -07:00
Pragmatic Software
2c6209b578
Use set_default to set default Registry values
2015-07-05 17:48:27 -07:00
Pragmatic Software
d1f5c1b705
Add set_default to prevent saving Registry when setting default value
2015-07-05 17:47:12 -07:00
Pragmatic Software
f22f2ef12a
Update version
2015-07-01 15:21:12 -07:00
Pragmatic Software
83f84e261a
Minor bug-fixes
2015-07-01 15:21:08 -07:00
Pragmatic Software
e026b9ac42
NickList is_present() now returns canonical nick (proper typographical case)
2015-07-01 15:20:28 -07:00
Pragmatic Software
a00a9dfc6b
Add more default bad nick suffixes
2015-07-01 15:18:55 -07:00
Pragmatic Software
c5cb41e02c
Update version
2015-06-26 00:10:27 -07:00
Pragmatic Software
144c3ec63b
Fix apostrophe in expand action arguments, and fix regex
2015-06-26 00:10:23 -07:00
Pragmatic Software
7c19ebbd7b
Update version
2015-06-25 22:56:15 -07:00
Pragmatic Software
f10e1c1c89
Support factoid argument indexing/slicing ($arg[0], $arg[2:4], etc)
2015-06-25 22:56:10 -07:00
Pragmatic Software
8ed333ba96
Fix typo "has_unban_timeout" -> "has_ban_timeout"
2015-06-25 22:55:06 -07:00
Pragmatic Software
09c7437246
Use can_gain_ops/has_un[ban,mute]_timeout subroutines
2015-06-25 20:55:42 -07:00
Pragmatic Software
95a4be6cb0
Add can_gain_ops(), has_unban_timeout() and has_unmute_timeout() subroutines
2015-06-25 20:54:38 -07:00
Pragmatic Software
452ac7fc4c
Save registry entries immediately after using set/unset
2015-06-25 20:53:59 -07:00
Pragmatic Software
3b961e0f29
Update version
2015-06-20 17:48:53 -07:00
Pragmatic Software
6b544e9bf4
Stop processing ban evasions immediately after first ban is detected
2015-06-20 17:48:42 -07:00
Pragmatic Software
d431d70ac1
Reduce verbosity of factoid debug messages
2015-06-20 17:48:00 -07:00
Pragmatic Software
0d4c5c301f
Do not attempt to enforce antiaway/rejoin if not chanop
2015-06-20 07:24:13 -07:00
Pragmatic Software
fea56842d3
Update version
2015-06-20 00:20:26 -07:00
Pragmatic Software
b4539447a3
Improve check-ban logic
2015-06-20 00:20:23 -07:00
Pragmatic Software
0c1e573ef8
Do not invoke compilation for compile-blocks if nick-prefix is specified and does not exist in channel
2015-06-19 16:16:23 -07:00
Pragmatic Software
b8a768aa96
Update version
2015-06-18 23:36:55 -07:00
Pragmatic Software
497b713300
Add response messages for refresh
command
2015-06-18 23:36:51 -07:00
Pragmatic Software
594b79d0f5
Update version
2015-06-16 21:51:27 -07:00
Pragmatic Software
43f08b4cbc
Remove unused use feature 'switch'
2015-06-15 20:04:48 -07:00
Pragmatic Software
dd4796437b
Update version
2015-06-15 19:55:53 -07:00
Pragmatic Software
204f95cba7
Add "refresher" to allow PBot::Module subroutines to be reloaded during runtime
2015-06-15 19:55:46 -07:00
Pragmatic Software
2ae493f1c2
Add count
option to recall
command
2015-06-15 17:58:25 -07:00
Pragmatic Software
b4bffe9233
Update version
2015-06-13 16:09:02 -07:00
Pragmatic Software
4db125c3c2
Improve account-tracking and ban-evasion for Freenode irccloud.com web gateways
2015-06-13 16:08:57 -07:00
Pragmatic Software
8033213a7f
Add options to disable anti-flood per-channel, and to disable enforcement for logged-in admins
2015-06-13 16:08:06 -07:00
Pragmatic Software
a3d5dfb63e
Update version
2015-06-10 02:27:17 -07:00
Pragmatic Software
73c1c89b6a
Correct $length when no $channel or $length argument is provided
2015-06-10 02:27:13 -07:00
Pragmatic Software
dfbefee904
random_nick now returns nick with preserved typographical case
2015-06-10 02:26:14 -07:00
Pragmatic Software
edf2f0e5ee
Update version
2015-06-08 04:43:02 -07:00
Pragmatic Software
f2a8839707
Add $randomnick special factoid variable
2015-06-08 04:43:00 -07:00
Pragmatic Software
c81612c58c
Update version
2015-06-07 18:02:38 -07:00
Pragmatic Software
75655f5d81
Remove ban/mute from time-outs if using "forever"
2015-06-07 18:02:35 -07:00
Pragmatic Software
828bf2fa78
Update version
2015-06-05 22:28:04 -07:00
Pragmatic Software
4895aa5ed8
Don't show duplicate nicks regardless of id unless -h is used
2015-06-05 22:27:59 -07:00
Pragmatic Software
f415d73827
Anchor regex in find_admin
2015-06-05 22:27:21 -07:00
Pragmatic Software
bf45c6cdde
Improve ban evasion; show evaded ban in kick message
2015-06-05 22:26:55 -07:00
Pragmatic Software
62b8432be9
Factoid commands now check for admins in factoid's channel instead of channel command was used in
2015-06-05 22:26:02 -07:00
Pragmatic Software
21cd76e99e
Ignore surrounding whitespace for integers in parsedate
2015-05-27 16:11:16 -07:00
Pragmatic Software
277b363310
Update version
2015-05-27 11:26:26 -07:00
Pragmatic Software
b087324a37
Remove mute from mute-timeouts if -q is detected
2015-05-27 11:26:16 -07:00
Pragmatic Software
e835b8c667
Update version
2015-05-27 10:48:55 -07:00
Pragmatic Software
d0ebf98441
Automatically unmute +q'd offenders after mute_timeout (7 days)
2015-05-27 10:46:30 -07:00
Pragmatic Software
b98ef02b6f
Add timed mute/unmute commands
2015-05-27 10:45:43 -07:00
Pragmatic Software
3012297183
Do not require whitespace next to nick when triggering by bot-nick
2015-05-27 10:44:26 -07:00
Pragmatic Software
204c0dc0ce
Update version
2015-05-25 17:25:05 -07:00
Pragmatic Software
7607de79a0
Update version
2015-05-25 11:34:48 -07:00
Pragmatic Software
b1f3d304b3
Update version
2015-05-25 11:27:28 -07:00
Pragmatic Software
a466a0f02f
Update version
2015-05-24 13:26:47 -07:00
Pragmatic Software
bfe81a87b9
Update version
2015-05-24 06:19:09 -07:00
Pragmatic Software
22545d6249
Update version
2015-05-22 04:24:44 -07:00
Pragmatic Software
cdb84a8602
Link nick-changes to original nick's account instead of new nick's
2015-05-22 04:24:38 -07:00
Pragmatic Software
351385cb67
Properly recurse through all linked ids when getting AKAs; optimize Aliases table and AKA function
2015-05-22 04:23:51 -07:00
Pragmatic Software
72c29a9ed8
Update version
2015-05-22 04:03:44 -07:00
Pragmatic Software
5908a74570
Update version
2015-05-18 20:50:28 -07:00
Pragmatic Software
ab39220fd5
Update version
2015-05-15 17:53:15 -07:00
Pragmatic Software
0b1d5c29bf
Fall back to codepad if sprunge fails to paste
...
Refactor rate-ratelimiting.
2015-05-15 17:53:13 -07:00
Pragmatic Software
4510d83153
unbanme
now only works for the first offense
...
However, the 2nd offense now only earns a 1 hour ban to make up for this.
2015-05-15 17:51:50 -07:00
Pragmatic Software
f00405bbd3
Update version
2015-05-12 22:51:07 -07:00
Pragmatic Software
3892295bf1
Wait for nick-change to botnick before joining to prevent joining with random nick
2015-05-12 22:51:04 -07:00
Pragmatic Software
d8a721d48a
Update version
2015-05-12 21:46:44 -07:00
Pragmatic Software
d7d6083a25
Add ability to show alias relationships in aka
command
2015-05-12 21:46:40 -07:00
Pragmatic Software
5effcd57ac
Update version
2015-05-12 12:59:49 -07:00
Pragmatic Software
20aeeea634
Add akalink
and akaunlink
commands
2015-05-12 12:59:45 -07:00
Pragmatic Software
9031d97910
Remove left-over debug messages
2015-05-12 12:59:22 -07:00
Pragmatic Software
43806aa228
Update version
2015-05-11 21:28:39 -07:00
Pragmatic Software
5e94890c61
Increase bot's default admin level to 90
...
`rebuildaliases` command requires level 90 admin due to it's special
use-case.
2015-05-11 21:28:36 -07:00
Pragmatic Software
fa6dad12cd
Add Aliases
table to MessageHistory
...
Improve linking of known aliases for users by using an aliases table
to track the linkages.
Improve check-bans implementation to use new aliases table for
significant performance gains and reduced resource usage.
2015-05-11 21:27:22 -07:00
Pragmatic Software
3776bef88a
Reduce WHOIS queries when target joins multiple channels at once
2015-05-10 12:36:47 -07:00
Pragmatic Software
b39123813c
Update version
2015-05-08 05:11:09 -07:00
Pragmatic Software
745b1ffdc7
Update version
2015-05-08 05:03:00 -07:00
Pragmatic Software
d7f2eb0d45
Update version
2015-05-06 21:22:25 -07:00
Pragmatic Software
a997705ea4
Correct sprunge error message
2015-05-06 21:22:22 -07:00
Pragmatic Software
a245b338c0
Update version
2015-05-06 21:15:35 -07:00
Pragmatic Software
898aa18783
Add rate-limit to paste_sprunge function
...
Improve formatting of truncate/paste output when an error has occurred.
2015-05-06 21:15:25 -07:00
Pragmatic Software
b5c10b73d9
Add "forever" as valid parsedate option
...
`ban` command will not save ban to unban-timeouts if "forever" is used.
2015-05-06 21:13:39 -07:00
Pragmatic Software
3be6755a61
Do not ignore last-spoken nick if nick is logged in bot admin
...
Add debug_enter_abuse registry entry
2015-05-06 21:10:55 -07:00
Pragmatic Software
92b738e962
Update version
2015-04-26 16:05:08 -07:00
Pragmatic Software
715ff8ee78
Find factoids in proper channel namespace
2015-04-26 16:05:03 -07:00
Pragmatic Software
b9b4a0e2d3
Update version
2015-04-21 01:10:58 -07:00
Pragmatic Software
00203f1705
Update version
2015-04-20 21:33:17 -07:00
Pragmatic Software
3bb3407d37
Update version
2015-04-19 01:55:55 -07:00
Pragmatic Software
f20932b442
Allow setting channel-specific registry item no_url_titles
and no_compile_blocks
to prevent invoking these in those channels
...
Rename $mynick to $botnick throughout
2015-04-19 01:55:52 -07:00
Pragmatic Software
4bda217774
Use botnick instead of trigger for stdin commands
...
Since trigger can be set to be a regex or character-class, use
botnick instead to ensure that commands are properly interpreted.
2015-04-19 01:53:46 -07:00
Pragmatic Software
778933caad
Update version
2015-04-16 03:12:14 -07:00
Pragmatic Software
29b3d7e80f
Update version
2015-04-14 20:14:24 -07:00
Pragmatic Software
789a4bfe2d
Correct handling of tell
ing factoid aliases
2015-04-14 20:14:22 -07:00
Pragmatic Software
b38456e411
Update version
2015-04-13 15:43:22 -07:00
Pragmatic Software
a9df8351d3
Move English-to-seconds time duration parser to Utils::ParseDate
...
Update ban_user_timed() and ignore_user() to use Utils::ParseDate
2015-04-13 15:43:19 -07:00
Pragmatic Software
9ff76ad500
Reduce pseudo-AI typing delay
2015-04-13 15:41:11 -07:00
Pragmatic Software
b9b0a55b4e
Ensure banmask is a proper mask when doing nick bans
2015-04-13 15:40:43 -07:00
Pragmatic Software
990604e085
Update version
2015-04-11 16:00:40 -07:00
Pragmatic Software
111717c798
Improve ban
command to understand English time durations
...
You can now use sentences like "1 hour and 30 minutes" to ban for 5400 seconds.
Also, can now ban in channels from a /msg.
2015-04-11 16:00:20 -07:00
Pragmatic Software
a6bafb12a4
Update version
2015-04-10 14:59:20 -07:00
Pragmatic Software
59c29977e6
Improve handling of factoids
...
Fix adding factoid to local channel when a factoid of same name already exists for global channel
Fix calling factoid from another channel with `fact` command
Do not prepend nick argument to aliases (/call factoids)
2015-04-10 14:59:17 -07:00
Pragmatic Software
d89e05b759
Update version
2015-04-10 05:08:19 -07:00
Pragmatic Software
f5723d425e
Update version
2015-04-10 03:43:52 -07:00
Pragmatic Software
c4ec393153
Update version
2015-04-09 11:04:48 -07:00
Pragmatic Software
6642281b8a
Update version
2015-04-06 00:49:51 -07:00
Pragmatic Software
a15b343752
Update version
2015-04-05 02:32:18 -07:00
Pragmatic Software
fcdf24deb5
Update version
2015-04-03 15:33:24 -07:00
Pragmatic Software
17afac5908
Check commands table for keyword before searching regexs
2015-04-03 15:33:19 -07:00
Pragmatic Software
d8c12522ed
Update version
2015-04-03 13:06:29 -07:00
Pragmatic Software
d1341ab4bd
Use proper lookbehind to prevent expansion of escaped variables
...
Remove adlib recursion loop since using $action already enables
recursion since subsitution on $action resets the regex position
2015-04-03 13:06:24 -07:00
Pragmatic Software
d2711956d6
Update version
2015-04-03 12:33:42 -07:00
Pragmatic Software
ae3791815b
Allow recursive expansion of adlib variables
...
Rename $count to $depth to reflect recursion
2015-04-03 12:33:39 -07:00
Pragmatic Software
383c194966
Don't remove trailing punctuation from arguments
...
Rename $count to $depth to reflect recursion
2015-04-03 12:32:35 -07:00
Pragmatic Software
f3bf1f5e5b
Rename $count to $depth to reflect recursion
2015-04-03 12:31:46 -07:00
Pragmatic Software
e76592442c
Update version
2015-04-03 10:41:07 -07:00
Pragmatic Software
433f381bc9
Don't expand $1, $2, etc, as adlibs
2015-04-03 10:40:48 -07:00
Pragmatic Software
7cd174506f
Update version
2015-04-03 10:12:37 -07:00
Pragmatic Software
528f66bfed
Refactor Factoids.pm to allow expansion of variables in all factoid types
...
Variables like $args and adlib variables can now be expanded in modules
and other factoid types.
2015-04-03 10:11:21 -07:00
Pragmatic Software
060d3aee6a
Fix wrong channel for fact
command
...
The `fact` command was using $channel instead of $from, which
caused the result to be sent to the channel the factoid lives
in instead of the channel the command was invoked in.
2015-04-03 10:08:57 -07:00
Pragmatic Software
2a0912342e
Update version
2015-03-30 15:04:12 -07:00
Pragmatic Software
c73f8b6a01
Minor refactor
2015-03-30 15:04:08 -07:00
Pragmatic Software
b2714e2d16
Update version
2015-03-29 20:26:35 -07:00
Pragmatic Software
b6f842bafc
Rename some missed variables from previous name-change
2015-03-29 20:26:08 -07:00
Pragmatic Software
b36a4fb2c9
Improve message output queue
...
- Use distinct per-channel queues
- Use timestamp of last message in queue to add delay
- Increase typing speed from 4 characters per second to 7 cps
2015-03-29 20:24:36 -07:00
Pragmatic Software
3f62bfbd94
Update version
2015-03-28 17:52:42 -07:00
Pragmatic Software
e199f6309a
Factoids can now be set to use a delayed output queue instead of immediately responding
2015-03-28 17:50:43 -07:00
Pragmatic Software
6701ee67f9
find_factoid() can now be told to return found alias instead
2015-03-28 17:49:42 -07:00
Pragmatic Software
5457e129b0
Update version
2015-03-27 13:01:15 -07:00
Pragmatic Software
7599fb0c19
Correct handling of bot trigger in /msg since earlier commit allowing trigger to be a regex
2015-03-27 13:00:43 -07:00
Pragmatic Software
5117c601fb
Update version
2015-03-27 04:09:50 -07:00
Pragmatic Software
9140cbec07
Remove ancient obsoleted -1 check on Nickserv account
2015-03-27 04:09:39 -07:00
Pragmatic Software
7f87730de8
Improve handling of Nickserv accounts in check-bans and unbanme
2015-03-27 04:08:47 -07:00
Pragmatic Software
377cf99d35
Update version
2015-03-23 04:27:49 -07:00
Pragmatic Software
44bdf26ebc
Add support for per-channel bot trigger characters
2015-03-23 04:27:41 -07:00
Pragmatic Software
2e9f15b7e2
Support IPv6 banmasks
2015-03-23 04:18:33 -07:00
Pragmatic Software
0db12b82ae
Update version
2015-03-20 21:14:11 -07:00
Pragmatic Software
be47b2cbf2
Improve output of blacklist and ignorelist commands
2015-03-20 21:14:07 -07:00
Pragmatic Software
3e88db4505
Update version
2015-03-16 23:22:22 -07:00
Pragmatic Software
728e05e514
Correct minor logic error
2015-03-16 23:22:18 -07:00
Pragmatic Software
b45b707ec2
Update version
2015-03-16 21:10:12 -07:00
Pragmatic Software
9a52fffcdd
Rename ShitList to BlackList; minor refactor of IgnoreList
2015-03-16 21:08:25 -07:00
Pragmatic Software
d350affa93
Update version
2015-03-15 20:13:03 -07:00
Pragmatic Software
cb9ead7624
Incorporate custom workdir
field into URL for modules
2015-03-15 20:12:44 -07:00
Pragmatic Software
9abce1c102
Update version
2015-03-15 14:07:54 -07:00
Pragmatic Software
284f943c08
Fix typos
2015-03-15 14:07:38 -07:00
Pragmatic Software
e604767517
Add support for shitlisting hostmasks
2015-03-15 13:52:30 -07:00
Pragmatic Software
73ba1e7c19
Update version
2015-03-11 02:00:14 -07:00
Pragmatic Software
7970018777
Improve handling of nick-change flood
2015-03-11 02:00:10 -07:00
Pragmatic Software
9ec50d8f5d
Update version
2015-03-04 00:41:41 -08:00
Pragmatic Software
386e03c184
Add stayloggedin
field to admin accounts to prevent logging out when /parting or /quitting
2015-03-04 00:39:44 -08:00
Pragmatic Software
d5073be98f
Update version
2015-02-17 01:47:38 -08:00
Pragmatic Software
e0971e8158
Update version
2015-02-17 01:32:28 -08:00
Pragmatic Software
f06aa9dda6
Update version
2015-02-15 20:30:34 -08:00
Pragmatic Software
b23935b8dc
Create SQLite index for Messages table
...
This significantly speeds up certain SQL actions on
the Messages table that were done for anti-flood detection.
The bot should now be significantly more quicker to catch
floods promptly without delay.
(Also, comment out some logging messages. Perhaps revisit this
and wrap them with a debug registry variable instead.)
2015-02-15 20:30:28 -08:00
Pragmatic Software
19788eec47
Use 0 second timeout on SelectHandler's select
...
We do not need to wait for any timeout period in SelectHandler's
select since IRC.pm's select has a 1 second (by default) timeout.
Removing this unnecessary delay will increase the overall
responsiveness of the bot.
2015-02-15 20:23:07 -08:00
Pragmatic Software
1ffe857ba5
Print IRC debug messages to STDERR
2015-02-15 20:19:51 -08:00
Pragmatic Software
ec13cf14bc
Search all channels if target channel is not a valid channel (private message, for instance)
2015-02-15 20:18:46 -08:00
Pragmatic Software
04f47ba3a1
Show "global" if namespace is ".*"
2015-02-15 20:17:36 -08:00
Pragmatic Software
9f265a0f0e
Do not enforce anti-flood on logged in bot admins
2015-02-15 20:16:37 -08:00
Pragmatic Software
559b9ddde1
Use NickList instead of MessageHistory for target channels
2015-02-14 04:03:39 -08:00
Pragmatic Software
800b097a34
Use NickList instead of MessageHistory for target channels
2015-02-14 04:03:18 -08:00
Pragmatic Software
ad1ab83298
Update bad_actions with more matches
2015-02-14 04:02:13 -08:00
Pragmatic Software
9f23aef2d0
Random IRC nicks cannot start with a digit
2015-02-14 04:01:09 -08:00
Pragmatic Software
022f86c3e1
Update version
2015-02-13 15:37:55 -08:00
Pragmatic Software
2db21dd011
Update version
2015-02-13 14:39:27 -08:00
Pragmatic Software
2a63cced1d
Update version
2015-02-11 21:38:48 -08:00
Pragmatic Software
23ae41c2f2
Update version
2015-02-07 08:48:58 -08:00
Pragmatic Software
b693f96806
Update version
2015-01-29 01:40:00 -08:00
Pragmatic Software
972b542582
Update version
2015-01-29 01:25:09 -08:00
Pragmatic Software
12cd9cb8e0
Improve launching of modules
...
If a `workdir` factoid key is present, the launcher will chdir
to make the specified value the current working directory.
Redirect stderr output to a $modulename-stderr in the module's
current working directory.
2015-01-27 23:49:30 -08:00
Pragmatic Software
4b9e177aec
Update version
2015-01-24 08:05:58 -08:00
Pragmatic Software
74f717ad51
Update version
2015-01-23 13:50:17 -08:00
Pragmatic Software
f8b6b19398
Show only chat messages in recall
surrounding context (no joins/quits/etc)
2015-01-23 13:50:14 -08:00
Pragmatic Software
573a18e6ef
Update version
2015-01-23 12:33:06 -08:00
Pragmatic Software
5ab76e6e6c
Add -x/-context <nick> flag to limit recall -before/-after context to that nick
2015-01-23 11:44:38 -08:00
Pragmatic Software
90597350c5
Update version
2015-01-23 07:36:53 -08:00
Pragmatic Software
b806a473d2
Add ability to get surrounding message context in recall command
...
Add the -b/-before and -a/-after flags to the `recall` command to display
that many lines of surrounding context.
For example, `recall -c ##c -b 100` will show the last 100 messages in the ##c
channel.
Another example, `recall pragma- 50 -b 5 -a 5` will show the 5 messages before the 50th
most recent message spoken by pragma- and then show that 50th message and finally show
the 5 messages after it.
2015-01-23 07:36:39 -08:00
Pragmatic Software
8810605691
Show server:port when connecting
2015-01-23 05:35:06 -08:00
Pragmatic Software
659e61f1fb
Update version
2015-01-10 15:56:46 -08:00
Pragmatic Software
7243832cc3
Improve connecting/nicking logic
...
Randomize nick when connecting and change to botnick after identifying.
Identify after receiving connection welcome message.
Ghost existing nick if it is already in use and then attempt to regain it.
2015-01-10 15:56:43 -08:00
Pragmatic Software
28bd6f3611
Update version
2015-01-06 15:35:55 -08:00
Pragmatic Software
5d1412227f
Update version
2014-12-30 17:26:35 -08:00
Pragmatic Software
ebd47406ca
Update version
2014-12-29 23:56:49 -08:00
Pragmatic Software
7a1d37b51a
Update version
2014-12-29 23:25:31 -08:00
Pragmatic Software
f9e2c3fb49
CJeopardy improvements
...
- Reduce hint wait-period from 60 seconds to 30 seconds
- Improve ignoring of common leading words in answers
- Correct several grammar mistakes/typos in questions
2014-12-29 23:19:32 -08:00
Pragmatic Software
b289fd155e
Add repo_module to registry to customize source URL in factinfo command
2014-12-29 23:15:46 -08:00
Pragmatic Software
4c65df0529
Update update-version.pl from svn to git
2014-12-29 23:04:35 -08:00
Pragmatic Software
ecd2bad066
Add anti-kick-auto-rejoin module that temporarily kickbans offenders who immediately auto-rejoin after having been kicked
2014-12-28 00:44:15 +00:00
Pragmatic Software
0b9513ca2e
Reduce ban-tracker verbosity by putting "Getting baninfo" log messages in a debug block
2014-12-27 05:20:21 +00:00
Pragmatic Software
bb5c825aab
Correct handling of anti-away /me actions
2014-12-27 05:08:42 +00:00
Pragmatic Software
e5909965f7
Move anti-away stuff to its own AntiAway.pm module; add /me actions to anti-away detection
2014-12-27 04:53:42 +00:00
Pragmatic Software
ba59edb040
Update paren.py module to improve parentheses verbosity
2014-12-20 19:44:40 +00:00
Pragmatic Software
a09d3c1d63
Add permop
channel flag; when non-zero bot automatically ops itself when joining channel, otherwise bot ops itself only when needing to perform an op command and then deops itself after its deop timeout has elapsed
2014-12-18 08:46:13 +00:00
Pragmatic Software
598e2e4988
Add NickList module to track nicks present in channels; dispatch pbot.join/pbot.part events when bot joins/parts channels
2014-11-15 01:18:33 +00:00
Pragmatic Software
d1e7abc175
Add event dispatcher module to allow modules to dispatch events and
...
to register handlers to listen for events.
Update IRCHandlers module to use new event dispatcher to dispatch
irc.events. Update several modules to register with dispatcher
to listen for irc.events.
Improve handling of reconnection upon unexpected disconnection.
Todo: update more things to use new event dispatcher logic.
2014-11-01 00:15:21 +00:00
Pragmatic Software
bc604d3ce2
Insert additional events to IRC::Event::_names table so default handlers will pick them up
...
Fix up indentation of _names table
2014-11-01 00:08:21 +00:00
Pragmatic Software
5a63fbd705
Auto-kick people who change nicks to a nick matching $bad_away_nicks
2014-10-28 20:35:33 +00:00
Pragmatic Software
c979efcfa6
Ignore add_op_command() for channels bot is not registered or set as op
2014-10-28 20:34:48 +00:00
Pragmatic Software
f640ade74e
Fix regex factoids so that regular factoid keywords have priority over regex triggers
2014-10-28 20:33:11 +00:00
Pragmatic Software
f70e044a60
Update latest hostmask last_seen timestamp when linking accounts
2014-10-14 02:33:13 +00:00
Pragmatic Software
a679b0ff15
Improve handling of KICK events wrt to message history
2014-10-14 02:32:22 +00:00
Pragmatic Software
46fa0d52b3
Minor code formatting improvement
2014-10-14 02:30:57 +00:00
Pragmatic Software
4dbec8001e
Fix regex factoids in global namespace not being triggered
2014-10-14 02:30:14 +00:00
Pragmatic Software
750b78cb53
quotemeta doesn't escape underscores, whoops -- manually escape underscores for Message History SQL statements
2014-10-01 21:18:54 +00:00
Pragmatic Software
79796f9710
CGrammar: Add istrue to static assertion expression; add ability to customize istrue truthiness result, add isfalse
2014-09-19 04:17:37 +00:00
Pragmatic Software
9d3c8c0285
CGrammar: Correct translation of sizeof in static assertions
2014-09-19 03:54:13 +00:00
Pragmatic Software
b2e6d7e4c0
Update version
2014-09-11 13:37:57 +00:00
Pragmatic Software
2529d49aac
CGrammar: Remove excessive "result of the expression" for parenthesized expressions
2014-09-09 07:20:42 +00:00
Pragmatic Software
83af062376
Fix case-sensitivity to show QUIT messages properly
2014-09-09 07:19:10 +00:00
Pragmatic Software
d40361a2bf
Disallow ?, [, ], and ~~ in math.pl
2014-08-31 20:27:40 +00:00
Pragmatic Software
fa2e3e4b5d
Dump LWP error text if get_title.pl fails to fetch webpage
2014-08-31 20:26:24 +00:00
Pragmatic Software
838f232d68
Update C Jeopardy questions
2014-08-31 20:24:08 +00:00
Pragmatic Software
a5ede3307e
Update C facts module
2014-08-31 20:23:27 +00:00
Pragmatic Software
021401b538
C Jeopardy: Show correctness percentage when an answer is almost correct; recommend #cjeopardy channel when attempting to play via /msg
2014-08-31 20:21:09 +00:00
Pragmatic Software
34d9a2a6d9
Appropriately wildcard /gateway/ hostmask bans
2014-08-18 14:57:12 +00:00
Pragmatic Software
749fda0ff3
Add HHGTTG easter egg to math.pl
2014-08-13 16:55:04 +00:00
Pragmatic Software
654cce66a5
Improve check for ban-evasion when nick-change is detected
2014-08-12 05:51:21 +00:00
Pragmatic Software
068c6a0559
Add default handler for unhandled IRC events; ignore certain IRC events; improve handling of chan-op requests
2014-08-11 07:34:30 +00:00
Pragmatic Software
c40e34b3a1
Add newline to "also known as" output to improve formatting in pastes
2014-08-11 07:33:05 +00:00
Pragmatic Software
321fdc401c
Improve handling of white-space when splitting output on new-lines
2014-08-11 07:32:24 +00:00
Pragmatic Software
c03a1288b6
CGrammar: Fix a|an substitution to an|a
2014-08-10 05:31:29 +00:00
Pragmatic Software
527e8490a3
CGrammar: Add offsetof
2014-08-10 05:03:37 +00:00
Pragmatic Software
48382de916
Add ability to set maximum number of newlines allowed before truncating for preserve newlines
2014-08-05 23:15:11 +00:00
Pragmatic Software
dddc9c3be9
Paste remaining lines to paste site if truncated with more lines remaining when preserve newlines is in effect
2014-08-05 23:11:51 +00:00
Pragmatic Software
a8ffedc853
C Jeopardy commands now use preserve_whitespace
2014-08-04 22:51:09 +00:00
Pragmatic Software
ca37b4fd4e
Fix use of wrong sub name when saving registry entries in add/remove subs
2014-08-04 22:50:22 +00:00
Pragmatic Software
b15ab7f84f
Add ability to preserve newlines in output; require explicit factadd
to add factoids
2014-08-04 22:48:32 +00:00
Pragmatic Software
74cffe091c
C Jeopardy: More improvements to question database
2014-08-04 21:51:23 +00:00
Pragmatic Software
18d245cf10
C Jeopardy: Now says "Too slow!" if someone else also answers the correct answer within 15 seconds
2014-08-04 06:25:56 +00:00
Pragmatic Software
7d6e505d9f
C Jeopardy: Clean up some typoes in the questions
2014-08-04 05:20:28 +00:00
Pragmatic Software
bf9fe32682
C Jeopardy: Fix and clean-up some questions; fix substitution if "is" in answers
2014-08-04 00:35:41 +00:00
Pragmatic Software
4bf78bf978
C Jeopardy: Add tons of new questions; add support for supplemental tidbits; don't obscure dashes and underscors in hints
2014-08-03 22:20:54 +00:00
Pragmatic Software
55bdc5b930
Enforce CPU limit on expand_macro module
2014-08-03 22:02:36 +00:00
Pragmatic Software
bc871bf4b2
C facts: Improve generation of C facts; update cfacts.txt with new facts
2014-08-02 16:01:51 +00:00
Pragmatic Software
9651847165
C Jeopardy: Correct showing of text/answer in "close enough" output due to recent change in handling of typographical case
2014-07-29 20:21:06 +00:00
Pragmatic Software
236b4c1d06
C Jeopardy: Add time-limit to hints
2014-07-29 20:07:48 +00:00
Pragmatic Software
88dc009ae7
C Jeopardy: Show correct typographical case for answers
2014-07-29 19:00:06 +00:00
Pragmatic Software
d49700d1e1
C Jeopardy: Add hint command to slowly reveal answer when stumped
2014-07-29 17:30:12 +00:00
Pragmatic Software
2d0a490ed2
C Jeopardy: Fix minor inconsequential typo
2014-07-28 16:28:11 +00:00
Pragmatic Software
00fd1eee89
C Jeopardy: Update question data with additional acceptable answers
2014-07-28 15:56:13 +00:00
Pragmatic Software
9978f0c793
C Jeopardy: Add shuffler to preventing repeating questions
2014-07-28 15:25:54 +00:00
Pragmatic Software
1f8445d3bc
C Jeopardy: Add time-limit to cjeopardy
command. The current question will be shown if within this time-limit, otherwise a new question is shown
2014-07-28 07:45:05 +00:00
Pragmatic Software
4b2abf316f
Add C Jeopardy module
2014-07-28 04:29:05 +00:00
Pragmatic Software
cf63d9d46a
compiler_vm: maintain original ordering of statements before, after and between functions instead of shoving everything to the top or into main
2014-07-23 21:27:09 +00:00
Pragmatic Software
491b4243ad
More clean-up of C facts
2014-07-23 20:16:10 +00:00
Pragmatic Software
d266e04284
More clean-up of C facts
2014-07-22 09:45:36 +00:00
Pragmatic Software
978c6b1f9d
Fix typo in C facts: simple
-> simply
2014-07-22 03:10:10 +00:00
Pragmatic Software
c04896aa32
Fix up a couple more C facts misparses
2014-07-22 03:08:56 +00:00
Pragmatic Software
d90c845a3b
Clean-up some misparsed C facts
2014-07-22 02:14:44 +00:00
Pragmatic Software
bcf76471c8
Add cfact
module
2014-07-22 01:46:16 +00:00
Pragmatic Software
da7a827c01
CGrammar: Add "result of the expression" to assignment expressions with spaces; remove extraneous trailing "Do nothing"
2014-07-21 21:27:22 +00:00
Pragmatic Software
de375e63a1
CGrammar: Add _Generic; fix issue with compound-literals
2014-07-21 07:11:11 +00:00
Pragmatic Software
fd89a4d0f4
CGrammar: Correct placement of "to" in conditional operator; restore "Begin block" and "End block" for nested compound statements
2014-07-18 03:52:16 +00:00
Pragmatic Software
3e47f6bc58
CGrammar: Emit "Do nothing" for empty case statements
2014-07-18 00:39:06 +00:00
Pragmatic Software
7f293450ef
CGrammar: Fix for loop init and break statement
2014-07-17 19:04:09 +00:00
Pragmatic Software
a59cc20128
CGrammar: Improve if/else in switch block, and improve "Fall through to next case"
2014-07-17 18:51:29 +00:00
Pragmatic Software
af8787797a
CGrammar: Improve translation of switch/case block
2014-07-17 18:36:09 +00:00
Pragmatic Software
46a0184791
CGrammar: Translate ' ' to "a space"; touch up translation of "the result of the expression the result of the function" to just "the result of the function"
2014-07-16 13:36:40 +00:00
Pragmatic Software
ed73046d6b
CGrammar: Limit "the result of the expression" to initializer expressions; improve grammar of bitwise assignments
2014-07-15 07:27:34 +00:00
Pragmatic Software
077978bfa1
Add -h option to aka
command to show full hostmasks
2014-07-13 07:06:04 +00:00
Pragmatic Software
2a8d9152f5
CGrammar: Improve handling of "the result of the expression"
2014-07-13 06:36:55 +00:00
Pragmatic Software
46b5b95d54
Escape undesired SQL wildcards in certain statements; add aka
command to list also-known-as entries
2014-07-11 12:57:18 +00:00
Pragmatic Software
65073e311d
Add support for nooverride
to prevent commands from being overridden in different namespaces
2014-07-11 12:56:17 +00:00
Pragmatic Software
23b725eeb8
Prevent warning about given/when; incorporate general offense counter in enter abuse offenses; decrement enter abuses once every 24 hours instead of once per hour
2014-07-11 12:54:56 +00:00
Pragmatic Software
b2114ca03f
CGrammar: Concatenate adjacent string literals
2014-07-11 11:30:05 +00:00
Pragmatic Software
69eca9a336
CGrammar: Change "Repeatedly never" to "Never repeatedly"
2014-07-10 13:13:57 +00:00
Pragmatic Software
bea4480cf3
CGrammar: Fix handling 0 as conditional in for loop
2014-07-10 13:11:13 +00:00
Pragmatic Software
38b6edf656
CGrammar: Fix passing 0 as argument to function
2014-07-10 12:35:33 +00:00
Pragmatic Software
5f9fb29e7e
CGrammar: Add some missing lowercasing specifiers
2014-07-10 12:24:29 +00:00
Pragmatic Software
fab1986a3e
CGrammar: Do not use "result of the expression" for single terms
2014-07-10 01:23:19 +00:00
Pragmatic Software
4520be1a2c
CGrammar: Improve translation of initializer expressions such as int i = 'a' > 'b';
2014-07-09 09:19:49 +00:00
Pragmatic Software
de3493f1ca
CGrammar: Do not use "an" for items beginning with 'y'; improve translation of array of array indices
2014-07-08 05:24:21 +00:00
Pragmatic Software
029cc1ec7a
CGrammar: Improve handling of space seperator in declaration initializers; fix issue with typedefs starting with a type specifier
2014-07-08 03:28:51 +00:00
Pragmatic Software
0c8078c6db
CGrammar: Don't pluralize "member" for structs with a single function pointer
2014-07-08 01:15:51 +00:00
Pragmatic Software
cc0957b060
CGrammar: Improve handling of declarations and initializers; improve translation of sizeof in statement context
2014-07-08 00:33:50 +00:00
Pragmatic Software
4a646f61c9
CGrammar: correct order of sizeof unary expressions
2014-07-07 10:24:15 +00:00
Pragmatic Software
6295b0f503
CGrammar: Add _Atomic
2014-07-07 09:15:46 +00:00
Pragmatic Software
d244af52d8
CGrammar: Improve _Static_assert translation
2014-07-07 08:39:06 +00:00
Pragmatic Software
b470359071
CGrammar: Add _Static_assert
2014-07-07 08:27:10 +00:00
Pragmatic Software
9623086310
CGrammar: Add C11's _Alignof
2014-07-07 06:45:50 +00:00
Pragmatic Software
162e264e82
CGrammar: Remove left-over debugging statements
2014-07-06 04:49:10 +00:00
Pragmatic Software
8de131b871
CGrammar: Support C11's _Alignas; improve handling of comments in declaration specifiers
2014-07-06 04:47:07 +00:00
Pragmatic Software
520d1a2c9c
CGrammar: Support flexible array struct members; fix up minor whitespace issue
2014-07-05 05:11:07 +00:00
Pragmatic Software
5b10d9769e
CGrammar: Correct order of pointer abstract declarator -- now parses int *[]
properly
2014-07-05 04:39:35 +00:00
Pragmatic Software
c638b2c993
CGrammar: Fix shebangs to use env to detect perl location
2014-07-05 00:04:15 +00:00
Pragmatic Software
e17c749ca7
CGrammar: Remove todo comments
2014-07-04 23:45:38 +00:00
Pragmatic Software
4583d85b50
CGrammar: Fix declarations without identifier
2014-07-04 23:41:54 +00:00
Pragmatic Software
9c5b307bef
compiler_vm: Fix #include parsing logic against mismatched #include <foo" tokens
2014-07-04 13:04:27 +00:00
Pragmatic Software
9b93a33acf
CGrammar improvements:
...
- show return type if _Noreturn function has type other than void
- improve translation of function body
- replace "Let `i` be an int" with "Declare `i` as an int"
2014-07-04 12:18:59 +00:00
Pragmatic Software
1f3533bf76
CGrammar: support inline and _Noreturn function specifiers
2014-07-04 11:09:58 +00:00
Pragmatic Software
e1ed0bb6b9
CGrammar: replace parameters
with arguments
where appropriate
2014-07-04 08:20:01 +00:00
Pragmatic Software
8b626cc81e
CGrammar: Wrap struct/union member declaration list with commas to disambiguate nested structs/unions
2014-07-04 02:58:55 +00:00
Pragmatic Software
8b72c03d34
CGrammar improvements:
...
- periods after "Call the function" and "Result of the function"
- conditional operator in assignment expression now says "otherwise the value"
- struct members now use "`identifer` as type" in declarations
- fix chained designated initializers, e.g. s.i[0] = x and [0][0] = x
- fix post/pre-incremented/decremented array elements
- correct positioning of "is nonzero" in multidimensional array locations
2014-07-03 21:33:20 +00:00
Pragmatic Software
df5fcbeaaa
CGrammar: Add C11 use of type-qualifiers and static in array declarators in function parameter lists
2014-07-02 20:55:50 +00:00
Pragmatic Software
d320d5e04a
Fix compliment module
2014-07-02 20:54:17 +00:00
Pragmatic Software
8d38af0d69
CGrammar: Include preprocessor and comments in block items
2014-07-02 18:04:22 +00:00
Pragmatic Software
469e16ce28
CGrammar: Update compound-statements to C11's block-item-list mixing declarations and statements
2014-07-02 17:54:21 +00:00
Pragmatic Software
07f9ef6120
CGrammar: Remove "the list" from initializer lists; restore skipping of whitespace to struct/union/enum specifier
2014-07-02 16:54:02 +00:00
Pragmatic Software
7b42e9220e
CGrammar: Fix case where intx
could be parsed as a declaration instead of an identifier
2014-07-02 16:36:22 +00:00
Pragmatic Software
5eee740cd7
CGrammar: Add designated initializers
2014-07-02 01:32:13 +00:00
Pragmatic Software
aca698374c
CGrammar: Correct beautification regex for "the a"
2014-07-01 19:07:44 +00:00
Pragmatic Software
73967e0721
CGrammar: Progress on C11 features -- added compound-literals
2014-07-01 18:57:02 +00:00
Pragmatic Software
34def4f9ad
CGrammar: Fix ordering of statement vs conditional/expression due to concatenated context
2014-07-01 17:03:07 +00:00
Pragmatic Software
d6c20bc051
CGrammar: Put space after if/while/for keywords
2014-07-01 16:21:52 +00:00
Pragmatic Software
b66e9502d7
CGrammar: Improve translation of structure postfix productions; concatenate contexts for multiple context
2014-07-01 16:16:40 +00:00
Pragmatic Software
f4fdd9f221
CGrammar: Begin adding C11 features; add for-loop init declaration; add C11 keywords to reserved list
2014-06-29 21:13:18 +00:00
Pragmatic Software
5d9b45661d
CGrammar: Correct handling of empty string literals during beautification
2014-06-28 14:49:59 +00:00
Pragmatic Software
086d5059b1
CGrammar: Move output beautification to c2eng.pl; white-out string literals before beautifying
2014-06-28 14:41:50 +00:00
Pragmatic Software
5730d56d54
CGrammar: Improvements to translation of comma operator
2014-06-28 10:18:28 +00:00
Pragmatic Software
99aea7fe63
CGrammar: Fix translation of multiple type specifiers, e.g. long double
no longer becomes double long
2014-06-27 11:38:54 +00:00
Pragmatic Software
3a3827fe40
CGrammar: Correct context for translation of "post-incremented" vs "increment by one"
2014-06-27 11:25:45 +00:00
Pragmatic Software
26e8f1552c
CGrammar: Improve translation of comma operator; remove redundant $arg{context}s
2014-06-26 07:35:11 +00:00
Pragmatic Software
682e6d2af3
CGrammar: Improve pluralization of arrays/pointers in declarations and improve translation of multiple identifiers in typedefs
2014-06-25 12:01:06 +00:00
Pragmatic Software
669e4e37c2
CGrammar: Fix typedefs
2014-06-25 10:15:12 +00:00
Pragmatic Software
b38c6c91c1
CGrammar: Add more types; improve translation of comma operator; track identifiers
2014-06-25 08:19:56 +00:00
Pragmatic Software
a232919dca
CGrammar: Add more lower-case markers
2014-06-24 08:47:29 +00:00
Pragmatic Software
a8320f52f9
CGrammar: Fix structure member access; add lower-case markers
2014-06-24 08:44:28 +00:00
Pragmatic Software
95949153e0
CGrammar: Change "is true" to "is nonzero"
2014-06-24 05:38:59 +00:00
Pragmatic Software
9abf8b6e44
CGrammar: Improve "is true" placement
2014-06-24 05:34:54 +00:00
Pragmatic Software
84ee56a15e
CGrammar: Remove under-construction warning and outdated todo list
2014-06-23 11:17:23 +00:00
Pragmatic Software
9bb70278b7
CGrammar: static local variables do not have internal linkage
2014-06-23 11:10:40 +00:00
Pragmatic Software
76faa3f2ca
CGrammar: Several fixes and improvements
2014-06-23 08:29:08 +00:00
Pragmatic Software
c1de5f6c97
CGrammar: Show bad parse error to users
2014-06-22 06:11:11 +00:00
Pragmatic Software
d97f8b2fd6
CGrammar: Return output instead of printing; improve error-handling of misparsed code
2014-06-22 06:08:01 +00:00
Pragmatic Software
e9b3d7e255
CGrammar: Fix bit-fields; remove under-construction/work-in-progress notice
2014-06-22 04:50:21 +00:00
Pragmatic Software
d4cda2bbc6
CGrammar: Fix some abstract declarators in parameter lists; remove some minor extra whitespace
2014-06-22 02:28:28 +00:00
Pragmatic Software
a388994d54
CGrammar: Fix anchoring of reserved
rule
2014-06-21 06:40:03 +00:00
Pragmatic Software
0b941bf771
CGrammar: Anchor reserved rule to prevent prefix matching
2014-06-21 02:01:38 +00:00
Pragmatic Software
1e2caf2bea
CGrammar: Er, *correctly* change parameter declarations from "int i
" to "i
as int"
2014-06-21 01:40:55 +00:00
Pragmatic Software
f137294429
CGrammar: Change parameter declarations from "int i
" to "i
as int"
2014-06-21 01:36:24 +00:00
Pragmatic Software
c18af75b63
CGrammar: Fix functions taking function pointer as parameter
2014-06-20 23:16:04 +00:00
Pragmatic Software
a501557d35
CGrammar: Support long long suffix on constants; add .0 to floating pointer constants when omitted
2014-06-20 09:12:56 +00:00
Pragmatic Software
d7197b6bf6
CGrammar: Replace "constant" with "const" since "constant" has a specific meaning in the C standard
2014-06-20 08:25:15 +00:00