3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-06 20:19:33 +01:00
Commit Graph

938 Commits

Author SHA1 Message Date
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 telling 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
Pragmatic Software
23ae41c2f2 Update version 2015-02-07 08:48:58 -08:00
Pragmatic Software
b693f96806 Update version 2015-01-29 01:40:00 -08:00
Pragmatic Software
972b542582 Update version 2015-01-29 01:25:09 -08:00
Pragmatic Software
12cd9cb8e0 Improve launching of modules
If a `workdir` factoid key is present, the launcher will chdir
to make the specified value the current working directory.

Redirect stderr output to a $modulename-stderr in the module's
current working directory.
2015-01-27 23:49:30 -08:00
Pragmatic Software
4b9e177aec Update version 2015-01-24 08:05:58 -08:00
Pragmatic Software
74f717ad51 Update version 2015-01-23 13:50:17 -08:00
Pragmatic Software
f8b6b19398 Show only chat messages in recall surrounding context (no joins/quits/etc) 2015-01-23 13:50:14 -08:00
Pragmatic Software
573a18e6ef Update version 2015-01-23 12:33:06 -08:00
Pragmatic Software
5ab76e6e6c Add -x/-context <nick> flag to limit recall -before/-after context to that nick 2015-01-23 11:44:38 -08:00
Pragmatic Software
90597350c5 Update version 2015-01-23 07:36:53 -08:00
Pragmatic Software
b806a473d2 Add ability to get surrounding message context in recall command
Add the -b/-before and -a/-after flags to the `recall` command to display
that many lines of surrounding context.

For example, `recall -c ##c -b 100` will show the last 100 messages in the ##c
channel.

Another example, `recall pragma- 50 -b 5 -a 5` will show the 5 messages before the 50th
most recent message spoken by pragma- and then show that 50th message and finally show
the 5 messages after it.
2015-01-23 07:36:39 -08:00
Pragmatic Software
8810605691 Show server:port when connecting 2015-01-23 05:35:06 -08:00
Pragmatic Software
659e61f1fb Update version 2015-01-10 15:56:46 -08:00
Pragmatic Software
7243832cc3 Improve connecting/nicking logic
Randomize nick when connecting and change to botnick after identifying.

Identify after receiving connection welcome message.

Ghost existing nick if it is already in use and then attempt to regain it.
2015-01-10 15:56:43 -08:00
Pragmatic Software
28bd6f3611 Update version 2015-01-06 15:35:55 -08:00