Commit Graph

994 Commits

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