Commit Graph

5557 Commits

Author SHA1 Message Date
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
Valentin Lorentz
9c76750ff9 PluginDownloader: Add test case.
Someone reported it to crash, but it does no. Hmm…
2016-08-01 16:08:31 +02:00
Valentin Lorentz
035c38a4f1 ChannelStats: Forbid large numbers for factorial(). 2016-07-30 20:25:52 +02:00
Valentin Lorentz
66782d47d8 GPG: Improve error messages. 2016-07-29 10:26:59 +02:00
Valentin Lorentz
0d820477c2 GPG: Improve error messages. 2016-07-29 01:28:12 +02:00
James Lu
30ba4bbe22 Google: mention the format of language codes
This might reduce confusion when people do things like "!google translate english to french hello", which produces no result.
2016-07-15 11:48:26 -07:00
Kevin Fenzi
932f49648b change abuse command flood to except trusted users instead of just owners 2016-07-06 16:50:14 -06:00
Valentin Lorentz
7b658e714b Factoids: Fix Python 3 support. 2016-06-04 18:57:31 +02:00
Valentin Lorentz
59df2ff038 Factoids: Fix names of utils.web.url(un)quote. 2016-06-04 18:53:55 +02:00
James Lu
88a8bbb4d8 Google: remove unused & duplicated imports
"import json" was being done twice. cgi, time, and socket all appear to be unused.
2016-05-11 18:24:36 -07:00
James Lu
7f13b939f7 ShrinkUrl: Update API URL, now serving HTTPS links
Source: https://x0.no/api/
For reference, http://api.x0.no/ now redirects to https://x0.no/api/
2016-05-07 21:02:38 -07:00
James Lu
218ba764cc Google: self-promot-- add DDG plugin with py2/py3 support 2016-05-06 07:14:25 -07:00
Valentin Lorentz
b6695172c8 Google: Add warning about deprecation. 2016-05-06 09:02:54 +02:00
Valentin Lorentz
de290d12f3 Google: Fix @lucky. 2016-05-05 09:01:51 +02:00
Valentin Lorentz
8321d8a547 Google: Fix URL formatting.
For some reason, it worked on Python 3…
2016-05-05 08:31:04 +02:00
Valentin Lorentz
6f1045ed20 Google: Fixes. 2016-05-05 08:03:10 +02:00
Valentin Lorentz
f8aaddd5b5 Google: Fix google URL. 2016-05-04 19:29:53 +02:00
Valentin Lorentz
b5268d63a3 Google: AJAX API was closed today, using HTML scraping instead. 2016-05-04 19:05:31 +02:00
Valentin Lorentz
c9e5486806 Ctcp: Don't strip CTCP character in output. (bug added in previous commit) 2016-04-24 21:26:25 +02:00
Valentin Lorentz
6ec0af2da3 Strip CTCP characters from irc.reply by default. 2016-04-24 21:11:34 +02:00
Valentin Lorentz
52517c8ca6 Open CSV files in binary mode on Python 2. Closes GH-1230. 2016-04-13 17:56:03 +02:00
Valentin Lorentz
2d1816e8f4 Ctcp: s/Supybot/Limnoria/ in version reply. 2016-04-10 19:31:59 +02:00
Valentin Lorentz
443999df25 Misc: s/Supybot/Limnoria/ in @version. 2016-04-02 18:57:10 +02:00
James Lu
3879f30d47 User: allow owners to change their own password
I don't understand why this restriction exists. If someone gains access to someone else's owner account, they can do a lot worse damage than just changing the owner password.
People logging in via NickAuth or hostmasks should be able to change their passwords at will, even if the owner doesn't know his previous password.
2016-03-21 20:57:13 +01:00
James Lu
d4a71497c4 Misc.last: add a timeout in --regexp search to prevent various ReDoS attacks 2016-03-21 20:57:04 +01:00
Valentin Lorentz
51c354bcfb Conditional: disable threading. 2016-03-16 16:49:07 +01:00
James Lu
9ace3004aa Network: fix getopts key for --nossl 2016-03-11 20:05:41 -08:00
Valentin Lorentz
5db3faca7a Unix: Add support for -4 and -6 in @ping. Closes GH-1224. 2016-03-11 21:12:04 +01:00
Valentin Lorentz
6936e3d634 Aka: make @list --keys reply on a single line, even if supybot.reply.oneToOne is False. Closes GH-1225. 2016-03-11 21:00:01 +01:00
Valentin Lorentz
fc3c9eec7c Time: Explicitely handle the 'now' case.
dateutil never handled it, and just returned the current day.
https://github.com/dateutil/dateutil/issues/212
2016-03-08 22:40:41 +01:00
Valentin Lorentz
25a913a82b Unix: Make fortune.equal and fortune.file channel-specific. 2016-03-01 19:21:17 +01:00
Valentin Lorentz
0b66abaf5b Channel: Fix 'ignore remove' converter to work like 'ignore add'. 2016-02-23 19:12:22 +00:00
Valentin Lorentz
c3dd5f8b64 Make SSL the default for connecting to a new network. 2016-02-21 13:04:26 +01:00
Valentin Lorentz
b33dadea9e Make INFO a bit less verbose when connecting. 2016-02-21 11:01:31 +01:00
Valentin Lorentz
de3265ed58 Merge pull request #1208 from damascene/testing
Add some explanation about Google plugin functions
2016-02-09 19:11:29 +01:00
Usama Akkad
1335962fd3 changed the link to markdown format 2016-02-09 20:09:35 +02:00
Usama Akkad
914dc4c4ec small fix 2016-02-07 12:52:27 +02:00
Usama Akkad
1ecf9c2206 applied @GLolol suggestions 2016-02-07 12:50:35 +02:00
Valentin Lorentz
61e5a29351 Fix scheme-matching regexp.
Old behavior allowed underscores and schemes starting with a digit,
and did not allow -+.
New behavior: https://tools.ietf.org/html/rfc3986\#section-3.1

Side effect: closes GH-1146
2016-02-07 09:44:08 +01:00
Valentin Lorentz
e9b122c973 Later: Do not use ValueError for reporting full queues.
Someone on IRC reported a ValueError being raised from an other part of the code.
2016-01-31 12:11:04 +01:00
Valentin Lorentz
ce0b788f2f Merge remote-tracking branch 'freeboson/patch-2' into testing 2016-01-27 14:27:32 +01:00
Sujeet Akula
26840f7a2e add desc for wizard — plugindownloader 2016-01-27 08:23:47 -05:00
Valentin Lorentz
6b3766dcd1 Remove trailing spaces. 2016-01-27 14:04:58 +01:00
Valentin Lorentz
638897671e Merge remote-tracking branch 'freeboson/patch-1' into testing 2016-01-27 14:04:14 +01:00
Sujeet Akula
c44d2007c4 add desc for wizard 2016-01-27 08:03:05 -05:00
Usama Akkad
44a4d31b05 Add some explanation about Google plugin functions 2016-01-27 01:08:38 +02:00
Usama Akkad
8c191a8ce2 Add some explantation about Google plugin functions 2016-01-27 00:05:06 +02:00
Valentin Lorentz
a4a0082c17 Later: use .tag() to set tags, as there is no IrcMsg.__setattr__. 2016-01-22 20:13:22 +00:00
Valentin Lorentz
4576874128 httpserver: Respond to HEAD requests. Closes GH-1203. 2016-01-05 18:25:35 +01:00
Valentin Lorentz
1010ea244b Filter: Extend outfilter to cover NOTICEs. Closes GH-1164. 2016-01-02 13:32:03 +01:00
Valentin Lorentz
715f9cd52d Merge pull request #1201 from GLolol/web/strip-newlines
Web: normalize whitespace in titles
2015-12-30 10:00:42 +01:00
James Lu
e2dedcc5a4 Web: normalize whitespace in titles
Sample link: http://googleblog.blogspot.com/2015/08/android-wear-now-works-with-iphones.html
Before: <bot> 'Title: \nOfficial Google Blog: Android Wear now works with iPhones\n (at googleblog.blogspot.com)'
After: <bot> Title: Official Google Blog: Android Wear now works with iPhones (at googleblog.blogspot.com)
2015-12-29 17:12:26 -08:00
Valentin Lorentz
f26716f2b8 Utilities: Add @let. 2015-12-29 18:00:05 +01:00
Valentin Lorentz
f7943a6697 Plugin: make @plugins take non-first words into account. Closes GH-68. 2015-12-28 20:09:48 +01:00
Valentin Lorentz
8e427838cd Plugin: internationalize a string. 2015-12-28 20:04:31 +01:00
Valentin Lorentz
f4d36cd087 Admin: internationalize a string. 2015-12-28 20:01:40 +01:00
Valentin Lorentz
857027a26f Fix tests for Python 2. 2015-12-27 12:43:35 +01:00
Valentin Lorentz
b42437c711 Unix: Channel-specific list of files for @fortune.
Also forbid file names starting with a dash, because
arguments to the fortune argument could be used for
DoSing.
2015-12-27 12:32:09 +01:00
Valentin Lorentz
49ff291f61 Use utf-8 to encode files by default.
Should fix this bug in Seen:
Traceback (most recent call last):
  File "C:\Program Files\Python34\lib\site-packages\supybot\world.py", line 121, in flush
    f()
  File "C:\Program Files\Python34\lib\site-packages\supybot\plugins\__init__.py", line 271, in flush
    writer.writerow(L)
  File "C:\Program Files\Python34\lib\site-packages\supybot\utils\file.py", line 172, in write
    return self._fd.write(data)
  File "C:\Program Files\Python34\lib\encodings\cp1250.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u25c4' in position 33: character maps to <undefined>
2015-12-23 15:22:19 +01:00
Valentin Lorentz
2364cf176d Status: Fix sort on Python3 (dict_items, not list). Closes GH-1199. 2015-12-20 10:09:39 +01:00
James Lu
45c5e29849 Channel: fix help text in "cycle" command
Closes #1197.
2015-12-19 09:01:29 -08:00
Valentin Lorentz
65abedcca1 ChannelStats: Don't crash on messages with no argument, eg. AWAY. 2015-12-19 00:13:42 +01:00
Valentin Lorentz
856d275697 Status: Fix output of @cpu if the amount of memory is unknown. 2015-12-07 16:32:53 +01:00
Valentin Lorentz
b0ee589702 Seen: Fix handling of MODE and TOPIC. 2015-12-05 21:29:07 +00:00
Valentin Lorentz
4d3fa77018 Fix typo. 2015-12-04 13:39:28 +01:00
Valentin Lorentz
2937152dc1 ChannelLogger && ChannelStats && Limiter && Relay && Seen: Use new QUIT and NICK 'channels' tag instead of copying the state. 2015-12-04 13:30:07 +01:00
Valentin Lorentz
1493adc041 Merge pull request #1194 from GLolol/filter/rainbow-stripcolor
Strip colour before applying new colour in Filter.rainbow and colorize
2015-12-02 09:41:56 +01:00
Valentin Lorentz
56d4cbec08 Aka: Fix Python 2 compatibility. 2015-12-02 09:06:34 +01:00
Valentin Lorentz
3fde279e50 Aka: Fix database name. 2015-12-02 07:55:00 +00:00
jacksonmj
61f2df5cc3 Strip colour before applying new colour in Filter.rainbow and colorize
This makes them work much better when the input text already contains colour.

(cherry picked from commit jacksonmj/Limnoria@be83befabf)
2015-12-01 18:20:01 -08:00
Valentin Lorentz
bc19a9fc7f Web: fix syntax. 2015-11-30 07:45:05 +00:00
Valentin Lorentz
eaf9e40dc2 Web: increase subprocess memory limit and catch MemoryError appropriately. 2015-11-29 18:34:54 +00:00
Valentin Lorentz
a070b658a0 Web: Fix title fetching. 2015-11-29 17:59:57 +00:00
Valentin Lorentz
ad8883a724 Network: Perform susbstitution in quit message. 2015-11-18 12:18:46 +01:00
Valentin Lorentz
b69e6e22bb Conditional: Rename @iferror to @cerror and simplify its logic to just return a boolean. 2015-11-14 19:28:05 +01:00
Valentin Lorentz
5f361ef180 Conditional: Add command @iferror. Closes GH-1114. 2015-11-14 19:20:25 +01:00
Valentin Lorentz
534fb5c78f ShrinkUrl: Fix previous commit. 2015-11-11 12:20:44 +00:00
Valentin Lorentz
c65762544c ShrinkUrl: Preven crash for commands with no arguments. 2015-11-11 12:15:55 +00:00
Valentin Lorentz
b3dbde18b8 Conditional: Don't import * from commands and remove the hack for any/all. 2015-11-09 19:10:19 +01:00
Valentin Lorentz
8bdab5e23e Condition: Add support for integers (casted to booleans). 2015-11-07 18:44:33 +01:00
Valentin Lorentz
e1d0c232ea Aka: Deprecate SQLAlchemy backend. 2015-11-07 18:29:43 +01:00
Valentin Lorentz
3f66dbc3d5 Channel & Dunno & Misc & RSS & Scheduler: Let the logging facility perform string templating to avoid extra format chars in argument. 2015-11-03 17:25:13 +01:00
Valentin Lorentz
a8748c3b73 GPG: Fix test crash since 57b77a6725. 2015-10-25 16:27:57 +01:00
Valentin Lorentz
1f57c31665 Web: Fix NameError with snarferShowTargetDomain. Closes GH-1177. 2015-10-25 16:20:31 +01:00
Valentin Lorentz
e3ff413734 Web & core: Merge features of Web's title parser and utils.web.HtmlToText + don't unescape HTML twice. Closes GH-1176. 2015-10-23 07:41:36 +02:00