3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-17 09:29:30 +01:00
Commit Graph

40 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
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
cfba96e8ae Rename $stuff to $context throughout 2020-05-01 20:59:51 -07:00
Pragmatic Software
b54360485d IgnoreList: correct formatting of pasted ignore list output 2020-05-01 09:45:38 -07:00
Pragmatic Software
88a13847c8 IgnoreList: properly set global channel; fix whitespace in ignore list 2020-04-29 16:55:09 -07:00
Pragmatic Software
e98072f98d IgnoreList: use event queue for ignore timeouts 2020-03-06 13:23:40 -08:00
Pragmatic Software
6c4f56f9df IgnoreList: refactored to use DualIndexHashObject 2020-03-04 13:24:40 -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
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
3553692b5a Fix some more Unicode encoding issues 2019-07-10 18:40:53 -07:00
Pragmatic Software
5a26aca801 Convert HashObject file format to JSON to support newlines in factoid contents, etc 2019-06-28 00:22:57 -07:00
Pragmatic Software
5e2cb09744 Fix trailing whitespace throughout 2019-06-26 09:34:19 -07:00
Pragmatic Software
925a5e57bd Minor whitespace syntax clean-up throughout 2019-05-28 09:19:42 -07:00
Pragmatic Software
1158e3e815 Add ability to reload various config/data files 2017-08-05 21:38:46 -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
99e505b811 Add silent parameter to prevent logging of ignored messages 2016-02-25 00:45:03 -08:00
Pragmatic Software
be47b2cbf2 Improve output of blacklist and ignorelist commands 2015-03-20 21:14:07 -07:00
Pragmatic Software
9a52fffcdd Rename ShitList to BlackList; minor refactor of IgnoreList 2015-03-16 21:08:25 -07:00
Pragmatic Software
d1e7abc175 Add event dispatcher module to allow modules to dispatch events and
to register handlers to listen for events.

Update IRCHandlers module to use new event dispatcher to dispatch
irc.events.  Update several modules to register with dispatcher
to listen for irc.events.

Improve handling of reconnection upon unexpected disconnection.

Todo: update more things to use new event dispatcher logic.
2014-11-01 00:15:21 +00:00
Pragmatic Software
30e3c5ce35 Remove PBot getter/setters; move anti-flood registry defaults to AntiFlood.pm 2014-05-18 20:09:05 +00:00
Pragmatic Software
e07df35cbf Move command modules out of PBot.pm and into their respective modules
E.g., FactoidCommands.pm is now loaded inside Factoids.pm, etc.

Misc reformatting/refactoring of PBot.pm
2014-05-18 00:27:57 +00:00
Pragmatic Software
d955bfa06c Add centralized configuration registry module
Allows changing of bot configuration values without needing to restart
bot instance or needing to edit pbot.pl script.

Registry will initially be populated with default values from pbot.pl,
but if a registry file exists then the registry values will take
precedence over the pbot.pl values. For instance, if you regset the
bot trigger to '%' then the trigger will be '%' even if pbot.pl has '!'
or something else explicitly set.

Some registry items can have trigger hooks associated with them.  For
instance, the irc->botnick registry entry has a change_botnick_trigger
associated with it which changes the IRC nick on the server when a new
value is set via regset/regadd.

Tons of other fixes and improvements throughout.
2014-05-17 20:08:19 +00:00
Pragmatic Software
b3ab3bae8f Remove extraneous debug logging statements 2014-04-19 10:34:21 +00:00
Pragmatic Software
2b5ff48a4c Interpreter: tell <nick> about <command> now case-insensitive
AntiFlood: Correct use of ignore list
IgnoreList: Ignoring user without args now permanent instead of 5 mins
            Save time when ignore expires instead of seconds remaining
            Improve output of `ignore list` command for readability
2012-09-06 10:09:44 +00:00
Pragmatic Software
8a70c06096 Misc bug fixes and tweaks 2012-07-22 19:22:30 +00:00
Pragmatic Software
bfbc663622 Resolve "use of uninitialized value in numeric gt" in IgnoreList.pm 2010-06-04 04:44:08 +00:00
Pragmatic Software
4d93519256 Remove #osdev from ignore case, fix warning numeric eq warning message 2010-05-30 02:22:38 +00:00
Pragmatic Software
0b3aa9015b Added missing newline to flood reset message 2010-05-28 05:20:06 +00:00
Pragmatic Software
042366b55b Overwhelm was too sensitive 2010-04-14 00:01:42 +00:00
Pragmatic Software
1131ab32df Truncate long output to codepad.org 2010-04-13 04:17:54 +00:00
Pragmatic Software
b261265726 Flood counter now per-channel 2010-04-06 19:15:42 +00:00
Pragmatic Software
116577aefb Ignorelist now saves/loads; ignorelist timeout of -1 causes ignore to be permanent 2010-04-06 18:38:27 +00:00
Pragmatic Software
d299a8fb0f 90% done in object-oriented conversion -- IgnoreList doesnt save/load/use regex yet. 2010-03-24 06:47:40 +00:00
Pragmatic Software
fa50724b58 Progressing on object-oriented conversion. Some functionality may be missing. 2010-03-23 18:24:02 +00:00
Pragmatic Software
313da0b587 Progressing on converting things to objects 2010-03-23 03:09:03 +00:00
Pragmatic Software
bd46c11120 Half-way through converting everything to objects. Committing mostly working copy as preview. 2010-03-22 07:33:44 +00:00
Pragmatic Software
f725743ccb == MAJOR NEW BETA RELEASE ==
Converted single large "amalgamate" monolithic pbot2.pl script into multiple Perl packages/modules.

Tons of refactoring and clean-ups.

Consider this version to be beta.  Use at your own risk.
2010-03-17 06:36:54 +00:00