Commit Graph

994 Commits

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