Commit Graph

76 Commits

Author SHA1 Message Date
Pragmatic Software 1a41f9aebb Refactor PBot::Timer into PBot::EventQueue
Make better use of PBot::IRC's select loop
Remove use of SIGALRM
2021-06-21 17:26:24 -07:00
Pragmatic Software 1c2b4da9ab Consolidate imports into PBot::Imports 2021-06-18 21:23:34 -07:00
Pragmatic Software 613890707a Progress on refactoring and polishing everything
More to come!
2021-06-06 19:12:14 -07:00
Pragmatic Software 9ec2622183 Ensure params to track_mode are defined 2020-06-11 19:30:07 -07:00
Pragmatic Software ea19abad4f Refactor BanTracker into BanList; move stuff out off ChanOps 2020-04-28 21:33:49 -07:00
Pragmatic Software dde93db0ac ChanOps: dequeue existing identical ban/mute timeouts when adding/updating timeout 2020-04-05 16:58:56 -07:00
Pragmatic Software bac855c1f4 ChanOps: save permanent bans/mutes better 2020-03-07 18:19:24 -08:00
Pragmatic Software c815ccbc0d Use event queue for unban/unmute timeouts 2020-03-06 13:31:22 -08:00
Pragmatic Software 16ac6d95fb Give sensible names to various existing timers 2020-03-06 13:28:06 -08:00
Pragmatic Software a6b2f60175 Tidy things up 2020-02-16 08:41:45 -08:00
Pragmatic Software 5c4e10a35c Tidy things up 2020-02-15 14:38:32 -08:00
Pragmatic Software 21c1eba0a0 No longer directly access DualIndexHashObject internals 2020-02-13 13:31:36 -08:00
Pragmatic Software 02f93c8721 Significant refactor and clean-up of PBot class instantiation 2020-02-08 11:04:13 -08:00
Pragmatic Software 63f6ccb80c Remove unnecessary use of delete keyword 2020-02-06 01:14:08 -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 e8e26512bc ChanOps: fix checkmute command 2020-02-01 01:03:16 -08:00
Pragmatic Software 2d38f71682 ChanOps/ChanOpCommands: make checkban/checkmute API 2020-01-31 22:46:19 -08:00
Pragmatic Software fbc50184dc Fix misc usage messages 2020-01-29 13:35:56 -08:00
Pragmatic Software 153d2c111f address_to_mask() is now member function 2020-01-25 21:09:17 -08:00
Pragmatic Software 02552081d5 Fix all potential case-sensitivity issues
Misc clean-ups and refactors
2020-01-14 18:10:53 -08:00
Pragmatic Software 00052452b6 ChanOps: anchor $botnick test in kick section of perform_op_commands 2019-12-28 23:20:55 -08:00
Pragmatic Software 54e75d934b Add `invite` command 2019-12-28 23:17:15 -08:00
Pragmatic Software c9391d7829 Add wildcard support to `mode` command 2019-12-26 19:24:35 -08:00
Pragmatic Software fe1f385053 ChanOps: op service/command can now be overridden via registry 2019-12-26 05:47:18 -08:00
Pragmatic Software 167edf8d95 Temp bans/mutes now track owner and reason for checkban/checkmute 2019-07-26 14:17:06 -07:00
Pragmatic Software aa87cadb65 Add checkban/checkmute commands so users can see remaining timeout duration.
`mute` now translates nick to banmask.

`ban`/`mute` commands will now show remaining timeout duration if no length
argument is provided.
2019-07-23 08:55:24 -07:00
Pragmatic Software 3553692b5a Fix some more Unicode encoding issues 2019-07-10 18:40:53 -07:00
Pragmatic Software 925a5e57bd Minor whitespace syntax clean-up throughout 2019-05-28 09:19:42 -07:00
Pragmatic Software a599a78444 ChanOps: Don't attempt to gain ops for disabled channels 2019-04-25 14:11:54 -07:00
Pragmatic Software 9243a40228 Track and remember channel modes and topicinfo 2018-08-05 22:47:38 -07:00
Pragmatic Software fc4fbc6af3 Group comma-separated bans/mutes together in one MODE 2018-06-05 22:59:33 -07:00
k 9d8940fee2 Make unmute and unban more smarter about argument order (#40)
* clean up unban and unmute

* unmute and unban are now smart about argument order
2018-06-05 17:55:59 -07:00
k 2f190a57c3 extend unmute to automagically unmute all of a user's hosts (#39) 2018-06-05 15:02:02 -07:00
Pragmatic Software dc7406ccb8 Fix a couple of keys on scalar 2017-08-09 01:22:13 -07:00
Pragmatic Software 53c6177801 Restore `immediately` functionality to unban/unmute 2017-08-03 23:19:02 -07:00
Pragmatic Software 2746c14f7c Improved unban queue handling 2017-08-03 13:30:42 -07:00
Pragmatic Software 414b11f787 Make unban queue more robust; allow immediate unban/unmute too 2017-05-21 02:18:00 -07:00
Pragmatic Software 461f1a3066 Use unban queue to group multiple -b/-q into a single command, with a delay between multiple commands 2017-05-20 23:48:03 -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 0e24a3758f unban by nick will now go through all akas for matching bans 2017-03-03 11:42:39 -08:00
Pragmatic Software 3bd424aacc Fix possible case-sensitivity issues 2016-10-29 10:47:08 -07:00
Pragmatic Software 34a653b05a Stop appending !*@* to $a:account banmasks 2015-09-03 20:44:33 -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 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 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 95a4be6cb0 Add can_gain_ops(), has_unban_timeout() and has_unmute_timeout() subroutines 2015-06-25 20:54: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 b98ef02b6f Add timed mute/unmute commands 2015-05-27 10:45:43 -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 b9b0a55b4e Ensure banmask is a proper mask when doing nick bans 2015-04-13 15:40:43 -07:00