Commit Graph

1353 Commits

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