3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-18 01:49:53 +01:00
Commit Graph

56 Commits

Author SHA1 Message Date
Pragmatic Software
9ebc77f4da
Replace preserve_whitespace metadata with condense-whitespace
PBot now preserves whitespace by default. The `preserve_whitespace`
metadata field is now redundant. It has now been replaced with
`condense-whitespace`, which when set to a true value will collapse
adjacent whitespace to a single space.
2024-11-04 00:25:36 -08:00
Pragmatic Software
02a0d8ecfb
Commands/Factoids: Fix 4-arg form of factmove; add factcopy
`factmove` arguments now behave more sensibly in that:

* `factmove #channel keyword global keyword` now properly moves/renames
factoids to global channel

* `factmove #channel keyword #channel global` renames the factoid to `global`

* `factmove #channel keyword newname` renames the factoid to `newname`
2024-11-02 18:27:51 -07:00
Pragmatic Software
f542cc0cf2
Core/Factoids: top20: show only defined edited-by for edited sub-command 2024-10-23 22:32:27 -07:00
Pragmatic Software
4345b0a75c
Core/Factoids: update edit-by when factadd -f; add edited to top20 2024-10-23 21:36:21 -07:00
Pragmatic Software
755d7bd6c0
Bug fixes
general.debugcontext: filter out cmdlist and arglist

Core/Applets: log applet start/stop and duration

Core/ProcessManager: fix potential race-condition with $context object

Core/Interpreter:

    * expand pronouns before command-substitution
    * attempt to find current channel's factoid instance for metadata
    * remove duplication of command history in command-substition
    * terminate pipe/substitution processing when protecting self

Core/Factoids: limit -url contents to 250kb
2024-10-22 09:50:10 -07:00
Pragmatic Software
6722fd7f8d
Store user passwords as salted hash digests
This was way overdue. User passwords are no longer stored as cleartext.

When PBot is restarted after applying this commit, all stored passwords will
be converted to salted hash digests.

The `useradd`, `userset` and `my` commands will now hash passwords.

Why did it take me so long to finally get around to hashing passwords
properly, you might ask. The reason why this wasn't done sooner is because
all of my users used hostmask-based `autologin`. The passwords that PBot
randomly generated were ignored and never used.

I do regret that it took me so long to get around to this, for those of you
who might be using custom passwords instead of hostmask-based `autologin`.
2024-06-22 22:38:15 -07:00
Pragmatic Software
5d3f188a09
Multiple bugfixes
* obtain bot nick from connection details instead of registry where appropriate

* irc.random_nick works again

* record own hostmask when connecting

* fix web-paste truncation by subtracting length of own hostmask from message length

* set irc.max_msg_len back to 510

* updated IRC numeric 378 to whoishost

* add sprunge.us to WebPaste
2024-04-07 20:55:04 -07:00
Pragmatic Software
09aed30893
pbot-vm: add PBOTVM_ADDR env var to set address of vm-server 2024-03-31 17:36:36 -07:00
Pragmatic Software
afa124e0d3
Commands/ChanOp: Group multiple unbans/unmutes together into one command 2023-11-14 10:42:16 -08:00
Pragmatic Software
097c657f0c Commands/ChanOp: minor code-formatting clean-up 2023-05-05 18:59:35 -07:00
Pragmatic Software
1bb5fe031d Use quietlist when setting mutes 2023-05-04 16:30:35 -07:00
Pragmatic Software
b04c06f396 Refactor ban/unmute commands 2023-05-04 16:03:24 -07:00
Pragmatic Software
2c3f8fb9fe Fix some inconsistent arguments 2023-04-21 15:56:43 -07:00
Pragmatic Software
860a6be156 Fix some inconsistent arguments 2023-04-17 10:33:02 -07:00
Pragmatic Software
7ddb32ea16 Update core to use subroutine signatures 2023-04-13 21:04:12 -07:00
Pragmatic Software
110f019bf2 MessageHistory: recall: fix incorrect whitespace appended to text argument if -t is not used 2023-02-24 20:50:19 -08:00
Pragmatic Software
13b09be29a Commands/Factoids: factchange: handle escaped delimiters 2023-02-23 13:16:17 -08:00
Pragmatic Software
8d5b992b4c Update copyright 2023-02-20 21:31:52 -08:00
Pragmatic Software
d3c8c74a9d Support IRCv3 CHGHOST extension
Clean up MessageHistory constants
2023-02-01 17:27:06 -08:00
Pragmatic Software
6240aee0a0 Simplify arguments for IRC handlers 2023-01-31 05:44:34 -08:00
Pragmatic Software
7a6a150067 Begin refactoring message-history tracking 2023-01-22 07:36:11 -08:00
Pragmatic Software
55407ce800 Factoids: factadd: include contents for factlog 2022-12-31 14:55:48 -08:00
Pragmatic Software
ea35fc78c2 Commands/Help: update URL to point at TOC 2022-12-25 18:18:18 -08:00
Pragmatic Software
38d9c86984 Factoids: add more pastebin URLs for factadd -url; update help URL to point at TOC 2022-12-25 18:17:14 -08:00
Pragmatic Software
780d41e628 Factoids: correct quotemeta2 and make it slightly more readable 2022-06-26 08:42:01 -07:00
Pragmatic Software
5619d30a1b Factoids: fix Unicode issue with factfind 2022-06-25 17:34:06 -07:00
Pragmatic Software
d3328a4acd Factoids: factinfo now says "Applet" instead of "Module" 2022-04-08 09:13:57 -07:00
Pragmatic Software
bf8749ff9e Fix blacklist command 2022-03-09 12:56:38 -08:00
Pragmatic Software
f78e7bea88 Fix chanrem command 2022-01-01 21:30:20 -08:00
Pragmatic Software
3d97dc2c33 Rename "modules" to "applets"
"Applet" is a much better name for the external command-line
scripts and programs that can be loaded as PBot commands. They
will no longer be confused with Perl modules.

https://en.wikipedia.org/wiki/Applet
2021-11-19 18:05:50 -08:00
Pragmatic Software
4809341e0f Commands/Factoids: minor formatting clean-up 2021-10-19 21:05:16 -07:00
Pragmatic Software
3d1479aa59 Users: simplify previous commit 2021-09-14 16:15:00 -07:00
Pragmatic Software
fa65bfc878 Users: id command can now search by wildcarded hostmasks 2021-09-14 14:23:35 -07:00
Pragmatic Software
5cf9ac1b9f BanList: misc refactors to improve readability 2021-09-12 22:24:29 -07:00
Pragmatic Software
74401977e1 Factoids: look-up use_output_queue/preserve_whitespace properly 2021-09-10 11:03:20 -07:00
Pragmatic Software
a0265b4a6f MessageHistory: recall can use -a and -b together again 2021-09-08 14:05:35 -07:00
Pragmatic Software
7e539cc633 Fix typo 2021-09-06 13:03:01 -07:00
Pragmatic Software
e60c4dc1f2 MessageHistory: Add akadelete command 2021-09-06 12:43:18 -07:00
Pragmatic Software
d1bb30ef94 Replace Text::Levenshtein with Text::Levenshtein::XS
Text::Levenshtein::XS is much, much, much, much faster and more
efficient.

Existing PBot users: Please run `cpanm Text::Levenshtein::XS` to install this
module.
2021-08-27 19:41:51 -07:00
Pragmatic Software
ff298a3862 Factoids: add factoid command
The `factoid` commands interprets its arguments as an anonymous factoid.
Useful for testing factoid actions without creating and deleting them.

E.g.:

  <pragma> !factoid /say $args[1:2] --args 'testing hello world args'
    <PBot> hello world
2021-08-25 21:25:18 -07:00
Pragmatic Software
68490b6ac5 Factoids: add blank line between factlog entries 2021-08-22 09:55:50 -07:00
Pragmatic Software
f286ff44a0 Modules: fix load command 2021-08-02 17:53:16 -07:00
Pragmatic Software
483984754a Simplify use of getopt() throughout 2021-07-30 15:01:38 -07:00
Pragmatic Software
5dd4566ad4 Add usershow command to show user metadata 2021-07-27 23:46:54 -07:00
Pragmatic Software
39ee73f0b8 Fix version not updating after refresh 2021-07-27 22:38:19 -07:00
Pragmatic Software
8cff244256 Simplify VERSION.pm 2021-07-27 12:25:56 -07:00
Pragmatic Software
c75be8b4b0 Refactor PBot::Core::Factoids into PBot::Core::Factoids::* 2021-07-26 21:39:44 -07:00
Pragmatic Software
5567270f59 Factoids: ensure user has capability when factsetting cap-override 2021-07-26 07:46:50 -07:00
Pragmatic Software
7b703ccffe Move Storage and Utils into Core 2021-07-23 19:22:25 -07:00
Pragmatic Software
6fd4245b2e Commands now stored as hash table 2021-07-23 18:26:07 -07:00