3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-26 13:59:47 +01:00
Commit Graph

68 Commits

Author SHA1 Message Date
Pragmatic Software
87d7b7bbaf MessageHistory: fix typo 2020-06-05 14:56:53 -07:00
Pragmatic Software
e0f4e9cdd5 MessageHistory: recall: -h and -t separated into distinct flags; -t no longer does integral indexing 2020-06-05 14:32:37 -07:00
Pragmatic Software
76dcc0a8ee MessageHistory: allow recalling multiple messages in-channel again 2020-05-31 17:14:03 -07:00
Pragmatic Software
f293366ad0 MessageHistory: override sort method to seen if -l is specified without -sort 2020-05-18 10:57:23 -07:00
Pragmatic Software
aa778304d8 MessageHistory: add gecos to aka -sort 2020-05-18 01:00:18 -07:00
Pragmatic Software
da9abb4fbc MessageHistory: aka can now sort output; added option -l to show last seen time 2020-05-18 00:05:15 -07:00
Pragmatic Software
0436294090 MessageHistory: aka can optionally bypass alias table 2020-05-16 22:39:48 -07:00
Pragmatic Software
976bfcb5e7 Refactor commands to begin with cmd_ and take a $context object
Move all command subroutines closer to top of source file
Do not send WHO to non-chanop channels
Minor misc bugfixes and improvements
2020-05-04 13:21:35 -07:00
Pragmatic Software
3a3ed38162 MessageHistory: correct behavior of recall -n without history 2020-04-30 11:48:53 -07:00
Pragmatic Software
2b0a0550b5 MessageHistory: recall: add -raw and -random; fix mixing -x -t and -n 2020-04-29 17:49:31 -07:00
Pragmatic Software
2c2d547b51 MessageHistory: Increase limits back to 100; remove "I have messages for them in ..." 2020-04-21 15:14:11 -07:00
Pragmatic Software
b007cb3b9d MessageHistory: Increase in-channel recall message limit to ~5 2020-04-19 14:47:30 -07:00
Pragmatic Software
7ce2eb87d2 MessageHistory: recall must be used via /msg if count > 2 2020-04-03 13:12:24 -07:00
Pragmatic Software
3ca3917891 MessageHistory: minor improvements to recall 2020-02-27 21:06:52 -08:00
Pragmatic Software
e2cb6e5d5e Replace GetOptionsFromString() with superior split_line() and GetOptionsFromArray() 2020-02-16 14:13:41 -08:00
Pragmatic Software
fe56b9f0db Tidy things up 2020-02-15 15:16:38 -08:00
Pragmatic Software
5c4e10a35c Tidy things up 2020-02-15 14:38:32 -08:00
Pragmatic Software
02f93c8721 Significant refactor and clean-up of PBot class instantiation 2020-02-08 11:04:13 -08:00
Pragmatic Software
97a913ef32 Add more capabilities to default groups 2020-02-05 17:55:31 -08:00
Pragmatic Software
6267cc04d2 Finished replacing admin-levels with user-capabilities [FIN commit 2 of 2]; misc clean-ups 2020-02-03 17:19:04 -08:00
Pragmatic Software
5dd03f1c0c Massive refactor: added support for generic users!
Renamed data/admins to data/users
Moved Admins.pm to Users.pm
Moved various subroutines in AdminCommands.pm to more appropriate locations
Deleted AdminCommands.pm
Improvements to Users.pm
Added `my` command
2020-01-25 12:28:05 -08:00
Pragmatic Software
848536f183 MessageHistory: recall now ignores fix commands 2019-09-01 11:02:22 -07:00
Pragmatic Software
936cbb52d8 MessageHistory: recall now ignores ftfy commands 2019-08-15 11:12:23 -07:00
Pragmatic Software
20a7ff992d MessageHistory: now tracks channel mode changes on users 2019-07-23 12:19:34 -07:00
Pragmatic Software
3553692b5a Fix some more Unicode encoding issues 2019-07-10 18:40:53 -07:00
Pragmatic Software
5e2cb09744 Fix trailing whitespace throughout 2019-06-26 09:34:19 -07:00
Pragmatic Software
e1abf1a1a7 MessageHistory: remove no-longer-necessary single-quote logic 2019-06-09 21:49:47 -07:00
Pragmatic Software
925a5e57bd Minor whitespace syntax clean-up throughout 2019-05-28 09:19:42 -07:00
Pragmatic Software
cd22e21a6a MessageHistory: recall's arguments now behave more sanely 2019-05-20 14:05:58 -07:00
Pragmatic Software
0538a37678 MessageHistory: recall is now aware of mock 2019-05-04 14:52:25 -07:00
Joey Pabalinas
353fd96022 Prettify recall messages for JOIN/QUIT/KICK/NICKCHANGE/etc (#12) 2017-11-11 18:37:54 -08:00
Pragmatic Software
2f014ba2f0 Use /say on returns whose first word is a variable 2017-09-02 00:14:13 -07:00
Pragmatic Software
3b93d6c281 Escape single-quotes before using GetOptionsFromString and shellwords 2017-08-30 02:12:05 -07:00
Pragmatic Software
c3067533b2 Enable getopt bundling for recall 2017-08-08 21:18:29 -07:00
Pragmatic Software
b66bac2359 Use concise duration for recall timestamp 2017-08-04 21:05:55 -07:00
Pragmatic Software
f5be26a98c Use arg bundling for aka 2017-05-20 23:43:34 -07:00
Pragmatic Software
d29dcc3765 Slightly improve recall 2017-04-10 19:35:14 -07:00
Tomasz Kramkowski
b5d8f72254 License project under MPL2
This patch adds the file LICENSE which is the verbatim copy of the
Mozilla Public License Version 2.0 as retreived from
https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt on
2017-03-05.

This patch also places license headers for the MPL2 type A variant of
the license header in the following files:

PBot/AntiFlood.pm
PBot/BanTracker.pm
PBot/BlackList.pm
PBot/BotAdminCommands.pm
PBot/BotAdmins.pm
PBot/ChanOpCommands.pm
PBot/ChanOps.pm
PBot/Channels.pm
PBot/Commands.pm
PBot/DualIndexHashObject.pm
PBot/EventDispatcher.pm
PBot/FactoidCommands.pm
PBot/FactoidModuleLauncher.pm
PBot/Factoids.pm
PBot/HashObject.pm
PBot/IRCHandlers.pm
PBot/IgnoreList.pm
PBot/IgnoreListCommands.pm
PBot/Interpreter.pm
PBot/LagChecker.pm
PBot/Logger.pm
PBot/MessageHistory.pm
PBot/MessageHistory_SQLite.pm
PBot/NickList.pm
PBot/PBot.pm
PBot/Plugins.pm
PBot/Plugins/AntiAway.pm
PBot/Plugins/AntiKickAutoRejoin.pm
PBot/Plugins/AntiRepeat.pm
PBot/Plugins/AntiTwitter.pm
PBot/Plugins/AutoRejoin.pm
PBot/Plugins/Counter.pm
PBot/Plugins/Quotegrabs.pm
PBot/Plugins/Quotegrabs/Quotegrabs_Hashtable.pm
PBot/Plugins/Quotegrabs/Quotegrabs_SQLite.pm
PBot/Plugins/UrlTitles.pm
PBot/Plugins/_Example.pm
PBot/Refresher.pm
PBot/Registerable.pm
PBot/Registry.pm
PBot/RegistryCommands.pm
PBot/SQLiteLogger.pm
PBot/SQLiteLoggerLayer.pm
PBot/SelectHandler.pm
PBot/StdinReader.pm
PBot/Timer.pm
PBot/Utils/ParseDate.pm
PBot/VERSION.pm
build/update-version.pl
modules/acronym.pl
modules/ago.pl
modules/c11std.pl
modules/c2english.pl
modules/c2english/CGrammar.pm
modules/c2english/c2eng.pl
modules/c99std.pl
modules/cdecl.pl
modules/cfaq.pl
modules/cjeopardy/IRCColors.pm
modules/cjeopardy/QStatskeeper.pm
modules/cjeopardy/Scorekeeper.pm
modules/cjeopardy/cjeopardy.pl
modules/cjeopardy/cjeopardy_answer.pl
modules/cjeopardy/cjeopardy_filter.pl
modules/cjeopardy/cjeopardy_hint.pl
modules/cjeopardy/cjeopardy_qstats.pl
modules/cjeopardy/cjeopardy_scores.pl
modules/cjeopardy/cjeopardy_show.pl
modules/codepad.pl
modules/compiler_block.pl
modules/compiler_client.pl
modules/compiler_vm/Diff.pm
modules/compiler_vm/cc
modules/compiler_vm/compiler_client.pl
modules/compiler_vm/compiler_server.pl
modules/compiler_vm/compiler_server_vbox_win32.pl
modules/compiler_vm/compiler_server_watchdog.pl
modules/compiler_vm/compiler_vm_client.pl
modules/compiler_vm/compiler_vm_server.pl
modules/compiler_vm/compiler_watchdog.pl
modules/compiler_vm/languages/_c_base.pm
modules/compiler_vm/languages/_default.pm
modules/compiler_vm/languages/bash.pm
modules/compiler_vm/languages/bc.pm
modules/compiler_vm/languages/bf.pm
modules/compiler_vm/languages/c11.pm
modules/compiler_vm/languages/c89.pm
modules/compiler_vm/languages/c99.pm
modules/compiler_vm/languages/clang.pm
modules/compiler_vm/languages/clang11.pm
modules/compiler_vm/languages/clang89.pm
modules/compiler_vm/languages/clang99.pm
modules/compiler_vm/languages/clangpp.pm
modules/compiler_vm/languages/clisp.pm
modules/compiler_vm/languages/cpp.pm
modules/compiler_vm/languages/freebasic.pm
modules/compiler_vm/languages/go.pm
modules/compiler_vm/languages/haskell.pm
modules/compiler_vm/languages/java.pm
modules/compiler_vm/languages/javascript.pm
modules/compiler_vm/languages/ksh.pm
modules/compiler_vm/languages/lua.pm
modules/compiler_vm/languages/perl.pm
modules/compiler_vm/languages/python.pm
modules/compiler_vm/languages/python3.pm
modules/compiler_vm/languages/qbasic.pm
modules/compiler_vm/languages/scheme.pm
modules/compiler_vm/languages/server/_c_base.pm
modules/compiler_vm/languages/server/_default.pm
modules/compiler_vm/languages/server/c11.pm
modules/compiler_vm/languages/server/c89.pm
modules/compiler_vm/languages/server/c99.pm
modules/compiler_vm/languages/server/clang.pm
modules/compiler_vm/languages/server/clang11.pm
modules/compiler_vm/languages/server/clang89.pm
modules/compiler_vm/languages/server/clang99.pm
modules/compiler_vm/languages/server/cpp.pm
modules/compiler_vm/languages/server/freebasic.pm
modules/compiler_vm/languages/server/haskell.pm
modules/compiler_vm/languages/server/java.pm
modules/compiler_vm/languages/server/qbasic.pm
modules/compiler_vm/languages/server/tendra.pm
modules/compiler_vm/languages/sh.pm
modules/compiler_vm/languages/tendra.pm
modules/compliment
modules/cstd.pl
modules/define.pl
modules/dice_roll.pl
modules/excuse.sh
modules/expand_macros.pl
modules/fnord.pl
modules/funnyish_quote.pl
modules/g.pl
modules/gdefine.pl
modules/gen_cfacts.pl
modules/gencstd.pl
modules/get_title.pl
modules/getcfact.pl
modules/google.pl
modules/gspy.pl
modules/gtop10.pl
modules/gtop15.pl
modules/headlines.pl
modules/horoscope
modules/horrorscope
modules/ideone.pl
modules/insult.pl
modules/love_quote.pl
modules/man.pl
modules/map.pl
modules/math.pl
modules/prototype.pl
modules/qalc.pl
modules/random_quote.pl
modules/seen.pl
modules/urban
modules/weather.pl
modules/wikipedia.pl
pbot.pl
pbot.sh

It is highly recommended that this list of files is reviewed to ensure
that all files are the copyright of the sole maintainer of the
repository. If any files with license headers contain the intellectual
property of anyone else, it is recommended that a request is made to
revise this patch or that the explicit permission of the co-author is
gained to allow for the license of the work to be changed.

I (Tomasz Kramkowski), the contributor, take no responsibility for any
legal action taken against the maintainer of this repository for
incorrectly claiming copyright to any work not owned by the maintainer
of this repository.
2017-03-06 00:31:15 +00:00
Pragmatic Software
4091127213 Make aka usage message more concise 2016-09-22 08:25:50 -07:00
Pragmatic Software
568c1c8732 Use ? instead of ! to denote nickchange akas 2016-08-25 01:42:06 -07:00
Pragmatic Software
857d1aa0d3 Refactor message account linking
Linking of message accounts is now significantly less likely to produce
false-positives.

Previously, any hostmasks with matching nick!*@* would be strongly linked
together.  This led to falsely-linking accounts, either inadvertently or
intentionally.

For example, Bob might also be known as Bob_ and Bobby,
but primarily uses Bob as his main nick.  Somebody else might join with
Bobby and end up being linked to Bob.  Now both Bob and the new Bobby are
linked together as the same person, but likely with different *!user@host.

Now if the new Bobby ever gets banned, then Bob will also end up being
banned for evading Bobby's ban.

This was a sore spot in the previous linking implementation.

This new implementation has several adjustments to more intelligently link
accounts only when they're proven beyond a reasonable doubt to be the same
person (e.g. by matching nickserv accounts, etc).

Consequently, rather than aggressively linking accounts and catching more
ban-evaders at the risk of potentially falsely-linking accounts and falsely
detecting innocent people as ban-evaders, this new implementation will instead
link accounts more reliably at the risk of potential ban-evaders not yet being
linked together and thus being able to evade a ban.

This is a more preferable and reasonable risk.  Active channel ops should be
able to catch any obnoxious ban-evaders that slip through this net.
2016-08-17 20:34:45 -07:00
Pragmatic Software
4cb77ba143 Minor fix max_recall_time/max_messages initialization 2016-07-01 12:59:31 -07: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
7cc0912712 Restrict aka to admins, and add max_recall_time limit 2016-02-18 16:11:26 -08:00
Pragmatic Software
ddeef3cc62 Add support for GECOS 2016-02-10 03:42:42 -08:00
Pragmatic Software
d4eb08856a Fix recall logic for integer history 2015-09-18 17:45:25 -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
d570dd7dd4 Fix undefined variable warnings in recall 2015-09-03 20:50:07 -07:00
Pragmatic Software
028fe40a8b Correct location of alias_type 2015-07-28 17:49:18 -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