Valentin Lorentz
8cfb841f3b
BadWords: better tests.
2017-12-26 05:46:46 +01:00
James Lu
289c894dc5
Services: log all messages from NickServ to info
...
Closes GH-1016.
2017-12-10 11:03:30 -08:00
Valentin Lorentz
3ab226c129
RSS: Only defer feed loading at plugin load while the bot is starting.
...
Defering it if the plugin is (re)loaded while already running is useless.
Closes GH-922.
2017-12-10 09:39:20 +01:00
James Lu
bdd0adfef5
RSS: add missing configuration help for feed URL options
...
This fixes confusing "That configuration group exists, but seems to have no help." errors on the URL
options for feeds, when these options are actually relevant and settable.
2017-12-09 23:03:42 -08:00
James Lu
c78aff24e8
Hashes: fix copyright year format
...
[skip ci]
2017-11-09 09:08:41 -08:00
James Lu
fffe1efa9b
Hashes: remove duplicate check for hashlib.algorithms_available
...
This code is never wrap()'ed if the attribute is unavailable, so it isn't necessary to check for it in runtime twice.
2017-11-09 09:05:58 -08:00
James Lu
287610b776
Hashes: simplify test suites
...
- Use hasattr instead of assigning the import availability to a variable
- Use a simple if statement instead of redefining skipIf
2017-11-09 09:04:21 -08:00
James Lu
41830a46aa
String, Hashes: remove links describing hashing methods
...
These are either dead or don't accurately describe the state of these methods
today. For example, the SHA1 site still describes SHA-1 and MD5 as "trusted"
despite widely reported collision attacks already being possible[1][2][3].
[1]: https://www.computerworld.com/article/3173616/security/the-sha1-hash-function-is-now-completely-unsafe.html
[2]: https://arstechnica.com/information-technology/2017/02/at-deaths-door-for-years-widely-used-sha1-function-is-now-dead/
[3]: https://techcrunch.com/2017/02/23/security-researchers-announce-first-practical-sha-1-collision-attack/
2017-11-09 09:01:29 -08:00
Ken Spencer
b84ce3e43f
Add hashes plugin ( #1315 )
...
* add plugin Hashes, containing hash and encryption related commands
* Hashes: make the default plugin Hashes when the commands are used by themselves
* Hashes: add supybot.conf because of registerDefaultPlugin
* Hashes: import registry to help with registerDefaultPlugin
* Hashes: add in nicks for test
* actually use hashlib instead of crypt, also s/'String'/'Hashes'
* Hashes/test: add group in for testing
* Hashes: add in changes per @GLolol
* Hashes: remove xor
* Hashes: make plugins = ('Hashes',) instead of ('Hashes') because python is weird
* Hashes: fix sha512 calling sha256, use utils.str.format on 'algorithms'
* Hashes: just use the variable instead of substitution per @GLolol
* Hashes: follow through with not using substitution
* Hashes: disable the 'algorithms' and 'mkhash' commands if the underlying 'hashlib.algorithms_available' isn't available
* Hashes: don't use registerDefaultPlugin its for core plugins
* Hashes: also somehow I didn't change the copyright
* Hashes/test: fix copyright in file
2017-11-09 17:56:43 +01:00
James Lu
fd59612002
Time: tweak 'ddate missing' error message
...
Fix grammar and use a consistent URL format.
2017-10-29 16:24:45 -07:00
James Lu
9e7ca56067
Time: be less noisy about missing ddate module
...
This is a fairly niche command so it's not necessary to bother the user on every load.
Also, clarify which plugin this message originates from.
2017-10-29 16:24:45 -07:00
James Lu
f4cae9614f
ShrinkUrl: remove 'expand' as longurl.org has been dead for some time
...
Closes #1243 .
2017-10-28 00:14:05 -07:00
James Lu
e05f1ae5df
ShrinkUrl: fix tests for x0, broken by #1242
2017-10-27 23:48:52 -07:00
James Lu
ec2cf4af37
Owner: fix 'unload' writing duplicate entries to supybot.plugins
...
Fetch the existing plugin callback to determine the plugin's name in the right case.
Closes #1295 .
2017-10-27 23:35:44 -07:00
Ken Spencer
2ba7bc5c16
Time: add 'ddate' ( #1310 )
...
* Time: add 'ddate', fix contributors, add Time.local as a package_dir in setup.py
* Time: add in license information for ddate.py
* Time: change 'ddate' command to where it will error out gracefully if 'ddate.base' isn't available
* Time: add tests, remove Time.local from package_dir
2017-10-27 19:25:02 +02:00
Valentin Lorentz
bee98f6711
Conditional: Do not use noReply() after running the command.
...
As the command already calls reply() or noReply(), calling noReply()
there had disastrous effects:
* if reply() was called, noReply() erases the argument
* if noReply() was called, calling noReply() a second time erases **the next argument** (because the current argument was already erased).
This was 'caused' by the change of behavior of noReply() in 543edccd41
.
2017-10-26 09:55:52 +02:00
Ken Spencer
76c73a57b9
Use a prefix-less help string, don't assume a '@' prefix ( #1309 )
...
* Use a prefix-less help string, don't assume a '@' prefix
* Nickometer: follow through on plugin.py with ` -> '
2017-10-25 21:19:37 +02:00
Ken Spencer
71ed64e6b2
Config: Don't use a prefix in _setValue ( closes #1307 ) ( #1308 )
...
* Config: Don't use a prefix in _setValue
-- deviated from normal '' line enclosure to allow use of ' in lines without escaping
* fix up edits per @Mikaela
2017-10-25 12:21:50 +02:00
Valentin Lorentz
e08e899134
Fix test
2017-10-21 17:11:21 +02:00
Valentin Lorentz
e16faab805
RSS: On startup, only delay feeds loading for 10 seconds instead of the whole of supybot.plugins.RSS.waitPeriod.
2017-10-21 16:48:44 +02:00
Valentin Lorentz
543edccd41
Properly handle noReplies() in nested commands.
...
This fix prevents the bot from replying 'Error: I tried to send you an empty message'
when 'utilities ignore' is called from an Aka.
2017-10-21 15:37:43 +02:00
Valentin Lorentz
eaa5a5523e
RSS: Add var supybot.plugins.RSS.maximumAnnounceHeadlines.
2017-10-12 21:21:50 +02:00
Valentin Lorentz
0998651f61
Aka: Escape the command in help strings, so they can be copy-pasted into @aka add.
2017-10-01 10:40:23 +02:00
James Lu
5ee15c38bb
ChannelIdDatabasePlugin: limit --regexp to trusted users
...
Overcomplicated regexps can freeze the bot, an issue which is amplified as a database (e.g. for quotes) grows. Closes #855 .
2017-09-29 16:31:56 -07:00
James Lu
0e1e37a5a2
dictclient: remove overly complex dequote method
2017-09-29 16:20:13 -07:00
James Lu
989ac5ee97
Dict: make dictclient reloadable
2017-09-29 16:16:25 -07:00
James Lu
b6c75a70d3
Math: sync convertcore unit data with ConvertAll 0.7.2
...
Also add in a special case for handling the new unitless unit ("!!")
2017-09-29 16:02:36 -07:00
James Lu
b5f53fb22f
Math.convertcore: remove unused imports
2017-09-29 15:55:27 -07:00
James Lu
2460c0abca
Math.convertcore: remove unnecessary StringIO usage
...
Since the unit data is already a variable, we can read from it as is
2017-09-29 15:54:04 -07:00
James Lu
21a729d95a
Math.convertcore: remove useless try/except clause
2017-09-29 15:50:58 -07:00
James Lu
2ea93cdcfd
Math: reload convertcore along with the plugin
2017-09-29 15:50:49 -07:00
Valentin Lorentz
e5ef138378
Remove confusing comment (irrelevant since 69ead6c2677262a52f8e9fcd185110d383f2c63d)
2017-09-24 21:21:55 +02:00
Valentin Lorentz
4f6a5e7db9
Add config variable supybot.commands.allowShell. ( #1301 )
2017-09-24 21:11:21 +02:00
Ken Spencer
82cdf17964
Unix: make the default ping count configurable ( fixes #1187 )
...
Squashed commit of the following:
commit 2952c1f3e3d81a4d473bc7037f3fa9091219e483
Author: James Lu <james@overdrivenetworks.com>
Date: Sat Sep 23 12:42:05 2017 -0700
Unix: fix wrong conf var name
commit a3ea173ee0995e9d22472cc569d54d7e65648117
Merge: ca037a94
165d9f25
Author: James Lu <james@overdrivenetworks.com>
Date: Sat Sep 23 12:41:37 2017 -0700
Merge branch 'configurable-ping-count' of https://github.com/IotaSpencer/Limnoria into configurable-ping-count
commit 165d9f258f02c5adf0087b164e144038c06a46c4
Author: Ken Spencer <ken@electrocode.net>
Date: Sat Sep 23 15:39:02 2017 -0400
Unix: use str() on the integer-type defaultCount so we don't get a TypeError
commit f3b58710752f3b40db44ddc97369e15951563ea7
Author: Ken Spencer <ken@electrocode.net>
Date: Sat Sep 23 15:35:30 2017 -0400
Unix: use PositiveInteger so < 0 is inherently invalid
commit b4f9e4fdfffcc75c4803480702271647decf73a0
Author: Ken Spencer <ken@electrocode.net>
Date: Sat Sep 23 15:03:37 2017 -0400
Unix: make the default ping count configurable
2017-09-23 12:45:17 -07:00
Ken Spencer
ca037a94c5
Network: add all+server+channels and all+channels commands ( #1305 )
...
* Network: add all+server+channels and all+channels commands
* Network: fix up commands for PR as per @GLolol
* Network: fix syntax docs, style, use irc.state.channels, not its keys
* move acmd to Admin, remove cmdallchans, can be used by 'cmdall acmd ...'
2017-09-23 15:51:00 +02:00
James Lu
5e880fd73d
Karma: reword readme & mention the onlyNicks option
...
[skip ci]
2017-09-20 21:46:38 -07:00
Valentin Lorentz
a870d02a27
Merge pull request #1304 from tatokis/testing
...
Fix exception raised due to lack of Content-Type on the Web plugin.
2017-09-21 00:39:19 +02:00
Tasos Sahanidis
8dbf37a173
Web: Fix exception raised due to lack of Content-Type
2017-09-20 04:57:47 +03:00
Valentin Lorentz
4b37f91928
Merge pull request #1300 from GLolol/plugindownloader-multibranch
...
Support non-master branches in PluginDownloader
2017-09-17 10:10:04 +02:00
Valentin Lorentz
afb0cf042f
Merge pull request #1299 from GLolol/network-specific-history
...
Make irc.state.history network specific
2017-09-17 10:09:38 +02:00
James Lu
9fb72bed97
Add the Python 2 (legacy) branch of my repository
2017-08-24 19:13:17 -07:00
James Lu
32ab953dd1
PluginDownloader: support non-master branches
2017-08-24 18:58:09 -07:00
Valentin Lorentz
087fa71d63
Aka: Tell in the help message what channel the aka is for.
2017-08-20 19:55:28 +02:00
Valentin Lorentz
0d7714d490
Unix: disable ipv6 test if ipv6 is disabled (eg. Travis).
2017-08-18 23:03:06 +02:00
Valentin Lorentz
5272bf3a86
Aka: Fix combination of required and optional arguments.
...
Was broken by 7f43727835
(why?)
2017-08-18 18:30:22 +02:00
James Lu
03c4529d9e
Owner: make irc.state.history network specific
...
It is fairly counterintuitive for plugins to read the IrcState history, only to find that the message it got is from the wrong network.
I'm not sure why the original Supybot chose to link all the history buffers together, as those lines came from before Supybot was introduced to Git.
Closes #1211 .
2017-08-03 12:25:34 -07:00
Valentin Lorentz
417f38b8c1
MessageParser: Prevent empty matches from leaving unreplaced.
2017-07-21 20:05:18 +02:00
Marc Chevalier
b93b5a237e
ChannelLogger: Normalize channel name in getLogDir
2017-05-09 12:50:21 +02:00
nyuszika7h
bb448f412d
Math: Fix round() with single argument in 'calc' command
...
I broke this with my previous commit related to this.
2017-05-08 18:50:27 +02:00
Valentin Lorentz
7e756eec79
Admin: Add tests for joining-on-invite.
2017-05-04 21:53:56 +02:00
Valentin Lorentz
1615b3b55f
Unix: Don't assume tests are running from Limnoria's source root.
2017-05-04 21:53:23 +02:00
Marc Chevalier
afbefc5f2b
Karma: remove unused variable in karma command
2017-05-04 14:59:04 +02:00
Marc Chevalier
99b4a7289b
Aka: fix backquote matching in readme
2017-05-04 14:58:48 +02:00
Valentin Lorentz
7f43727835
Aka: Proper mitigation of expansion bomb.
2017-04-17 11:05:04 +02:00
Valentin Lorentz
3075a41a3b
Aka: Allow more than one in an aka. Closes GH-1283.
2017-04-17 10:53:26 +02:00
Valentin Lorentz
5452d4194a
Aka: Remove first elements of the 'args' list in a single pass.
2017-04-17 10:31:43 +02:00
Valentin Lorentz
d73de5e512
Fix potential bug due to mutability of lists as default argument.
2017-03-30 21:38:18 +00:00
nyuszika7h
7d299dc3d1
Math: Fix round() in calc command
...
The second argument of `round()` has to be an integer, and since every
number is converted to a float to avoid using too much memory, a wrapper
has to be added for this function. I've tested it with big numbers and
it doesn't seem to cause any issue.
2017-03-27 16:35:33 +02:00
James Lu
6cb747744a
User: force replies for 'hostmask list' in private instead of requiring the command to be called that way
2017-02-12 11:42:42 +01:00
Valentin Lorentz
3633a2b2e3
RSS: Only keep the most recent entries in the initial announce.
2017-01-27 21:00:58 +01:00
Valentin Lorentz
e52db064ca
Less ambiguous name for the content of @owner announce.
2017-01-22 12:50:00 +01:00
nyuszika7h
dab4737010
Allow specifying the format of Owner.announce
...
Someone asked how to remove the owner's username from announcements,
so it may be useful to make this configurable instead of making them
edit a core plugin's code which is not the best idea,
or write another plugin.
2017-01-22 12:34:54 +01:00
Valentin Lorentz
90c5c78813
Add option --no-setuid to supybot-test
...
https://bugs.debian.org/834950
2017-01-10 22:56:17 +01:00
James Lu
010da43b29
Channel: use msg.prefix instead of nickToHostmask for capability checks
...
Closes #1233 .
2016-12-18 15:36:47 -08:00
Valentin Lorentz
cbb9f8c699
Merge pull request #1277 from GLolol/patch-1
...
Google: update link to supported languages list
2016-12-18 23:55:47 +01:00
James Lu
73be2bf3d8
Google: update link to supported languages list
...
Google has since reformatted their docs and moved the language support info to a separate page.
2016-12-18 14:53:01 -08:00
James Lu
b934870702
Debug: import supybot for easier access to the module
2016-12-18 23:37:55 +01:00
Johannes Löthberg
07f98d3619
Add timeout to web title
command
...
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-12-08 10:11:15 +01:00
Valentin Lorentz
9fe4abec48
Web: Use a timeout to fetch pages. Closes GH-1275.
...
This is required because the sandbox is not used anymore,
since 9c57199838
.
2016-12-08 00:48:11 +01:00
Valentin Lorentz
b9b36d4de5
Improve decorator.
2016-12-08 00:37:12 +01:00
Valentin Lorentz
4acb692f17
Web: Use new-style command wrap (as a decorator).
2016-12-08 00:36:30 +01:00
Valentin Lorentz
bbaf3cd47e
User: Fix previous commit by @IotaSpencer.
2016-11-28 10:31:37 +01:00
Ken Spencer
0c4f9d74eb
User: allow for custom whoami error
2016-11-28 10:28:48 +01:00
Fudster
0be4e2c953
Add Fudster's repo ( #1274 )
...
* Add Fudster's repo
* fixed missing owner var
* Fix padding
* Fix padding.....
* Remove tabs
2016-11-28 10:24:56 +01:00
Valentin Lorentz
ecf70a4de4
GPG: Limit number of headers fetched on old Python versions.
2016-11-22 22:15:43 +01:00
Valentin Lorentz
9c57199838
Web: Disable the fetch sandbox on Python versions with the _MAXHEADERS fix.
...
Partial fix to GH-1271.
2016-11-11 12:13:02 +01:00
Ken Spencer
f29ede567b
Update Iota's link
2016-11-09 12:23:31 -05:00
Valentin Lorentz
14180a24ec
Fix error when printing the 'NoSuitableDatabase' error.
2016-11-05 08:51:29 +01:00
Valentin Lorentz
f6419525ee
Merge pull request #1269 from kyrias/fix-disable
...
disable: Actually disable command by plugin if specified
2016-11-03 18:53:19 +01:00
Johannes Löthberg
7c757cd52e
disable: Actually disable command by plugin if specified
...
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-11-03 14:28:41 +01:00
Valentin Lorentz
95d4d40b22
Remove debug prints.
2016-11-01 21:30:39 +01:00
Valentin Lorentz
96c1ccc722
NickAuth: Fix error message.
2016-10-31 19:06:35 +01:00
Valentin Lorentz
167e66ed11
NickAuth: Use only the account name, not the current nick.
2016-10-31 17:02:14 +01:00
Valentin Lorentz
1fdbc24714
NickAuth: Improve error message.
2016-10-31 16:28:08 +01:00
Valentin Lorentz
f5db2338c5
Reply: Restore supybot.reply.oneToOne in tests because it breaks Factoids.
2016-10-02 13:55:26 +02:00
Valentin Lorentz
c6e29031d1
Make replies() behave consistently with reply() regarding the 'to' parameter.
...
Side-effect: Fixes channel-specificity of supybot.reply.onetoone for the Reply.replies command.
Closes GH-1266.
2016-10-01 13:37:03 +02:00
James Lu
cd853f3e31
Factoids: add missing Raise in requireVoice checks
...
Reported by braimee on IRC.
2016-09-25 17:11:14 -07:00
Valentin Lorentz
d7099794bc
Fix Python 2 support of last commit.
2016-09-20 23:22:13 +02:00
Valentin Lorentz
2cfe0f679f
Fix previous commit on some Python versions.
2016-09-20 23:09:29 +02:00
Valentin Lorentz
d39647142c
RSS: Fix shadowing of any/all.
2016-09-20 22:54:11 +02:00
Valentin Lorentz
b3bed0d6f9
User: Fix error handling when hostmasks overlap.
2016-09-14 19:10:26 +02:00
Valentin Lorentz
4f280599e1
RSS: use the original FeedParserDict for substitution
...
instead of building a new keyword arguments dict by iteration.
'description' is a field in FeedParserDict, but is not present when iterating,
which made it unavailable as a substitution variable.
2016-09-08 21:42:31 +02:00
Valentin Lorentz
2d30b40a80
NickAuth: Fix indentation.
2016-08-21 23:47:45 +02:00
Valentin Lorentz
1e7c3007e0
Later: Strip duplicate nicks given to @tell to avoid spam.
...
Suggested by @cottongin but implemented differently.
Closes GH-1261.
2016-08-19 19:20:17 +02:00
jacksonmj
0f14c1c654
Filter: add more filters - vowelrot, caps, capwords
2016-08-16 11:16:51 +02:00
Valentin Lorentz
3776404628
RSS: Use HTTP(S) proxy. Closes GH-1234.
2016-08-16 10:56:29 +02:00
Valentin Lorentz
fa755c3a9c
Google: Decode URLs. Closes GH-1260.
2016-08-10 22:52:00 +02:00
Valentin Lorentz
b4182753be
Internet: Add support for TLDs and IP addresses in @whois. Closes GH-1253.
2016-08-09 21:08:18 +02:00
James Lu
66736b22d5
Web: optionally hide the domain in titleSnarfer
...
This adds a snarferShowDomain option to optionally hide the domain ("(at site.abc)" text) in titleSnarfer output. Closes #1236 .
2016-08-09 11:22:00 -07:00
Valentin Lorentz
de8d4fbe52
PluginDownloader: Fix decoding issue (caught in stepnem/Freenode).
2016-08-01 16:09:11 +02:00