3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-29 06:02:36 +01:00
Commit Graph

1067 Commits

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