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

57 Commits

Author SHA1 Message Date
Pragmatic Software
e155b2958e Commands: show how to add help text when help text is missing 2020-05-01 09:55:15 -07:00
Pragmatic Software
66f6d867e9 Remove redundant _name metadata from JSON files 2020-04-22 16:46:09 -07:00
Pragmatic Software
47661f4a21 Commands: factoid-based $variables now expand in command arguments 2020-03-17 23:56:44 -07:00
Pragmatic Software
5c4e10a35c Tidy things up 2020-02-15 14:38:32 -08:00
Pragmatic Software
a5435e03cb Commands: support process-timeout metadata 2020-02-14 23:27:44 -08:00
Pragmatic Software
7e49d65e4f Commands: rename execute-process to background-process 2020-02-14 23:17:19 -08:00
Pragmatic Software
2ce5f8688d Commands now check for execute-process metadata 2020-02-14 22:42:15 -08:00
Pragmatic Software
21c1eba0a0 No longer directly access DualIndexHashObject internals 2020-02-13 13:31:36 -08:00
Pragmatic Software
afe4638b0a No longer directly access HashObject internals 2020-02-11 21:49:43 -08:00
Pragmatic Software
95a4c9114c Commands: improve output of user account errors 2020-02-10 14:42:29 -08:00
Pragmatic Software
02f93c8721 Significant refactor and clean-up of PBot class instantiation 2020-02-08 11:04:13 -08:00
Pragmatic Software
1016dd678f Commands: fix typo 2020-02-05 18:30:34 -08:00
Pragmatic Software
97a913ef32 Add more capabilities to default groups 2020-02-05 17:55:31 -08:00
Pragmatic Software
64f814fa8d Commands: create can-cmd caps only for cmds with cap-required 2020-02-03 23:55:24 -08:00
Pragmatic Software
866d802850 Replaced admin-levels with user-capabilities [WIP commit 1 of 2] 2020-02-03 09:50:38 -08:00
Pragmatic Software
20159ad929 Commands: make in command more intuitive 2020-02-01 22:17:20 -08:00
Pragmatic Software
0af8fc4c5c Commands: add set_meta function 2020-01-31 19:35:22 -08:00
Pragmatic Software
539e599b61 Improve login/logout related messages 2020-01-28 22:58:44 -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
61d5c6dd5f Commands: restore accidentally removed use statements 2020-01-23 22:46:41 -08:00
Pragmatic Software
4e2a17a5ed Commands: add uptime command 2020-01-23 21:09:57 -08:00
Pragmatic Software
cec026705b Commands: add help command 2020-01-20 16:37:51 -08:00
Pragmatic Software
ed874c2dec Minor style clean-up 2020-01-19 20:00:01 -08:00
Pragmatic Software
727d086df1 Commands: ensure "level" metadata is always set 2020-01-18 22:13:08 -08:00
Pragmatic Software
6eeec3b26c Commands: remove "metadata" from name of HashObject 2020-01-18 21:58:58 -08:00
Pragmatic Software
f3ef8a56c0 Commands: add metadata 2020-01-18 21:49:55 -08:00
Pragmatic Software
9dbd84f6c5 Commands: use boundary when extracting admin channel from arguments 2020-01-03 23:04:46 -08:00
Pragmatic Software
d35a0f4081 Fix channel-specific bot admins being unable to privately /msg admin commands 2020-01-03 19:20:25 -08:00
Pragmatic Software
b8c77abd47 Improve and simplify pipe/subcmd logic 2019-09-04 20:18:32 -07:00
Pragmatic Software
3553692b5a Fix some more Unicode encoding issues 2019-07-10 18:40:53 -07:00
Pragmatic Software
51fa020de2 Commands: Remove unused reference 2019-06-22 18:28:38 -07:00
Pragmatic Software
5eeabccaf2 Factoids: remove execute_code_factoid_using_safe 2019-06-02 19:31:25 -07:00
Pragmatic Software
bb08250673 Factoid usage metadata can now interrupt pipes to display usage message as appropriate 2019-06-02 19:30:35 -07:00
Pragmatic Software
925a5e57bd Minor whitespace syntax clean-up throughout 2019-05-28 09:19:42 -07:00
Pragmatic Software
263366bdfa Rename as to in 2018-02-21 18:41:56 -08:00
Pragmatic Software
7e061741da Improve nick-prefix/override 2018-01-23 13:58:03 -08:00
Pragmatic Software
8fb98d614f Add ability to override command effective-level 2017-12-11 12:44:19 -08:00
Pragmatic Software
8ac79a4cb2 Move lc out of loop (does Perl already optimize for this?) 2017-12-02 15:05:30 -08:00
Pragmatic Software
51b1b25b16 Add debugcontext registry item for $stuff dumps 2017-11-20 16:10:48 -08:00
Pragmatic Software
3ed4d58570 Significant refactoring of command passing
Instead of passing locally-scoped short-lived parameters to subroutines,
we now create and pass around a "stuff" context hash.

This allows contextual state to be passed and updated throughout the life
of a command.

This commit is a WIP and is 90% finished. There are likely to be a couple of
edge-cases where strange things may happen. But command-piping mostly works!
2017-11-16 09:23:58 -08:00
Pragmatic Software
346dcd3320 Uh, fix weird typo 2017-09-21 11:52:45 -07:00
Pragmatic Software
85693f905a Convert code-factoids to use VM
Code-factoids can now use the compiler virtual machine. Any languages installed
in the VM are valid candidates for code-factoids!

Syntax: factadd keyword /code language code here
2017-09-10 19:53:29 -07:00
Pragmatic Software
1a08156443 Add $0 in factoid action to expand to first keyword used to invoke factoid 2017-08-26 01:45:18 -07:00
Pragmatic Software
23c2c3d84e Single-quotes now behave as expected for parse_arguments() 2017-08-23 19:16:32 -07:00
Pragmatic Software
334b414f7d Whoops, extraneous "my" harmlessly overshadows a variable. Fixed. 2017-08-08 21:17:11 -07:00
Pragmatic Software
53ffb271b3 Commands no longer case-sensitive 2017-08-03 13:30:18 -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
a3ade65954 Rename unregister_by_name to unregister 2016-02-13 18:38:43 -08:00
Pragmatic Software
8c16fbd3e5 Allow factoids to be referenced from within messages
E.g.,

<pragma-> Userbob: You can learn more about candide by reading its !help page and checking out its !source
<candide> Userbob: To learn all about me, see http://www.iso-9899.info/wiki/Candide
<candide> Userbob: My guts can be browsed at https://github.com/pragma-/pbot

Only three triggers will be processed per message.  (I should create a
registry entry to customize this.)

Messages that are addressed at a specific user that exists in the channel will
have that user's name prepended to the factoid output.

Factoid triggers that are referenced from within messages will not produce
error messages if the factoid is not found.

Factoids that have an $arg or $nick special variable will not be triggered as
a reference.

Factoids that have the `noembed` meta-data value set to a true value will not
be invoked as a reference.
2015-09-03 20:56:44 -07:00
Pragmatic Software
17afac5908 Check commands table for keyword before searching regexs 2015-04-03 15:33:19 -07:00