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