Commit Graph

5493 Commits

Author SHA1 Message Date
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
Jussi Timperi
1f96471d93 Web: Correct capitalization in testTitle. 2015-10-22 17:19:03 +03:00
Jussi Timperi
5cf1b34f55 Web: Use title instead of parser.title. 2015-10-22 17:13:47 +03:00
Jussi Timperi
df7689cc2e Web & utils.web: Force HTMLParser to process all buffered data.
Python issue 23144.
2015-10-22 16:56:53 +03:00
Valentin Lorentz
526ffb0ccb Web: Fix code factorization (576a96fb71). Closes GH-1173. 2015-10-17 15:41:20 +02:00
Valentin Lorentz
fb52b16429 RSS: Allow @announce add to take URLs as feed names. 2015-10-10 20:40:25 +02:00
Valentin Lorentz
d397b4706d Merge pull request #1172 from GLolol/web/strip-titles
Web: actually return a whitespace-stripped title
2015-10-04 22:05:08 +02:00
James Lu
6e96f8f8bf Web: actually return the whitespace-stripped title 2015-10-04 12:54:41 -07:00
Jussi Timperi
67e5b55c1a Google: Handle empty results in translate. 2015-10-03 01:06:18 +03:00
Valentin Lorentz
27b878ff7c Math: Add comment about security. 2015-09-28 18:59:29 +02:00
Valentin Lorentz
0371480bd6 Math: add the 'round' function. 2015-09-28 18:57:46 +02:00
Valentin Lorentz
532309ecff Merge pull request #1170 from GLolol/badwords-1
BadWords: truly fix the bot kicking people when badwords list is empty
2015-09-26 08:57:16 +02:00
James Lu
96dc860313 BadWords: truly fix kicks when badwords list is empty (#989) 2015-09-25 20:51:15 -07:00
Valentin Lorentz
4498548cb3 RSS: Add supybot.plugins.RSS.notice. Closes GH-1151. 2015-09-23 11:27:20 +02:00
Valentin Lorentz
1002ec5d30 Later: Allow multiple targets. Closes GH-1169. 2015-09-23 11:23:21 +02:00
Valentin Lorentz
82332ff87c RSS: Add feed-specific waitPeriod. 2015-09-23 11:05:25 +02:00
Valentin Lorentz
685bedcd74 Add config variable supybot.abuse.flood.command.notify. 2015-09-16 21:32:25 +02:00
Valentin Lorentz
2e7df9cfc2 Service: Actually allow 0. 2015-09-15 21:00:31 +02:00
Valentin Lorentz
e54ae6dc77 Service: Don't ghost if ghostDelay is set to 0. 2015-09-15 20:59:26 +02:00
James Lu
f5146e8af4 Filter: more efficient _squish code 2015-09-10 06:57:40 -07:00
James Lu
ed493e6504 Filter: strip spaces in "unbinary" (Closes #1166)
This makes _squish() a shared function to prevent code duplication. Also, remove duplicate testUnbinary function, and add tests for this.
2015-09-09 19:32:15 -07:00
Valentin Lorentz
b51075969f Google: Move the main code of translate to a separate function (usable by other plugins). 2015-09-09 21:24:47 +02:00
Valentin Lorentz
1c218592af RSS: Add fallback on sorting by update timestamp + add outdatedFirst and updatedFirst sorts. Closes GH-1139. 2015-09-02 10:04:04 +02:00
Valentin Lorentz
29ca3eb5e4 RSS: Sort on time tuples instead of formatted dates. 2015-09-02 09:43:29 +02:00
Valentin Lorentz
c81d5d3151 Make the 'command flood' banmask follow supybot.protocols.irc.banmask. 2015-09-01 20:40:32 +02:00
Valentin Lorentz
6d60616597 Merge pull request #1161 from jacksonmj/private-user-list
Send User.list response in private
2015-08-31 15:16:25 +02:00
jacksonmj
5914499766 Change User.listInPrivate config value from global to channel-specific 2015-08-31 13:04:33 +00:00
Valentin Lorentz
69358681f7 ChannelLogger: Fix 'dictionary changed size during iteration'. 2015-08-31 08:40:30 +00:00
Valentin Lorentz
c01a956a8b utils: Remove dependency on parent package. 2015-08-30 17:33:39 +02:00
jacksonmj
3b1c56bbcd User.list: add config value plugins.User.listInPrivate to force user list response to be sent in private
This prevents mass-highlights of people who use their IRC nick as their bot username.
2015-08-30 00:48:29 +00:00
James Lu
dbd12e9c0c Aka: allow filtering 'list' by Aka lock status
This adds two mutually incompatible options to Aka list: --locked and --unlocked
2015-08-29 17:21:17 -07:00
Valentin Lorentz
e5d8315e64 Language. 2015-08-29 21:46:47 +02:00
Valentin Lorentz
20ef13ef9f Web: Ignore SVG titles. Closes GH-1147. 2015-08-29 21:08:35 +02:00
Valentin Lorentz
576a96fb71 Web: Factorize the code of the title snarfer and the title command. 2015-08-29 21:04:38 +02:00
Valentin Lorentz
8033e6ae14 Merge pull request #1159 from jacksonmj/math
Prevent untrusted users from freezing the bot with Math.rpn, and allow factorial calculation for smaller numbers
2015-08-29 08:09:12 +02:00
jacksonmj
97c7d0a9c3 Math.calc: allow factorial for smallish numbers 2015-08-29 01:27:50 +00:00
jacksonmj
1aeb847509 Math.rpn should use _mathSafeEnv, otherwise untrusted users can freeze the bot 2015-08-29 01:26:45 +00:00
Valentin Lorentz
b8f5423130 Unix: Skip tests instead of ignoring them if a dep is missing + use ls instead of ping. 2015-08-26 23:09:55 +02:00
Valentin Lorentz
4d6bd84d00 Time: skip tests if dependencies are not available. 2015-08-26 22:45:33 +02:00
Valentin Lorentz
33e8966e4b ChannelLogger & core: Use IRCv3.2 extension invite-notify if available. 2015-08-22 18:24:32 +02:00
jacksonmj
9eafe29c30 Alias: fix tests 2015-08-22 14:36:00 +00:00
jacksonmj
ff4040f479 Alias: prevent "RuntimeError: dictionary changed size during iteration" for invalid aliases 2015-08-22 13:24:19 +00:00
jacksonmj
f5c66afe4f Alias: add hard-coded check that alias names are valid registry names 2015-08-22 13:24:01 +00:00
jacksonmj
4507771ce7 Alias: clearer description for list command, as suggested by ProgVal 2015-08-22 12:54:06 +00:00
jacksonmj
92acea7785 Alias: refactor some of the registry access 2015-08-22 12:48:59 +00:00
jacksonmj
d9b21dc5be Alias: more relaxed valid name regex (printable characters instead of "a-z0-9 and some symbols") 2015-08-22 11:37:13 +00:00
jacksonmj
963a17c817 Alias: make regex for valid alias names configurable 2015-08-22 11:37:13 +00:00
jacksonmj
54e9b4be09 Alias: add a list command to list aliases, optionally filtered by locked status
("list Alias" includes Alias plugin commands as well as aliases, and cannot be filtered by locked status)
2015-08-22 11:37:12 +00:00
jacksonmj
fd53d8c410 Alias: correct unescaping of alias names when creating registry entries in Alias.__init__
Only a problem when the rules on allowed alias names were relaxed, in which case backslashes were duplicated
every time the bot restarted.

Also factor out '.' and '|' checks into needsEscaping function
2015-08-22 11:37:12 +00:00
jacksonmj
711572b5b2 Alias: fix locking and unlocking for escaped aliases 2015-08-22 11:37:12 +00:00
Valentin Lorentz
d4c49d8215 Factoids: Fix help of requireVoice. Closes GH-1153. 2015-08-17 18:22:36 +02:00
Valentin Lorentz
aa98d987a7 Fix imports to minisix. 2015-08-11 17:01:58 +02:00
Valentin Lorentz
c3a2c800f1 Remove need for 2to3. 2015-08-11 16:50:23 +02:00
Valentin Lorentz
054953891f Web: check URL whitelist in snarfer. 2015-08-11 14:46:47 +00:00
Valentin Lorentz
f305ff3c02 Remove fix_basestring. 2015-08-10 20:24:11 +02:00
Valentin Lorentz
2c380a4c3a Remove fix_xrange. 2015-08-10 19:36:07 +02:00
Valentin Lorentz
23ddfbc7e3 Filter & Google: Fix Python 3.2 compatibility. 2015-08-10 19:14:22 +02:00
Valentin Lorentz
8ad16701ce MoobotFactoids: Fix Python 3.2 support. 2015-08-10 19:02:50 +02:00
Valentin Lorentz
be6bc1a734 Remove need for fix_unicode. 2015-08-10 18:52:51 +02:00
Valentin Lorentz
6ceec0c541 Web: HTMLParseError is deprecated/unused since Python 3.3 and removed in Python 3.5. 2015-08-10 18:16:02 +02:00
Valentin Lorentz
34d384bd67 Remove need for fix_methodattrs. 2015-08-10 18:09:52 +02:00
Valentin Lorentz
c0ac84bb53 Remove need for fix_import, fix_types, and fix_urllib. 2015-08-10 17:55:25 +02:00
Valentin Lorentz
17bf893437 Fix imports. 2015-08-09 09:21:12 +02:00
Valentin Lorentz
5b9e07ecd2 Fix previous commit. 2015-08-09 00:47:50 +02:00
Valentin Lorentz
216c5d213f Replace sys.version_info[0] usages with minisix.PY{2,3}. 2015-08-09 00:23:03 +02:00