Commit Graph

5499 Commits

Author SHA1 Message Date
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
Valentin Lorentz
5a82cefd51 Remove use of fix_long fixer. 2015-08-08 23:08:49 +02:00
Valentin Lorentz
be118c3338 Remove use of fix_dict fixer. 2015-08-08 23:08:49 +02:00
Valentin Lorentz
7d7945e719 Topic: Factorize capability checks + make requireManageCapability actually channel-specific. 2015-07-08 11:35:56 +02:00
Valentin Lorentz
1bdb9e38e3 Relay: Clarify the doc of Relay.channels.joinOnAllNetworks. Closes GH-1133. 2015-07-07 06:59:33 +00:00
Jussi Timperi
7410c1657f Google: restore test for translate 2015-07-04 03:13:53 +03:00
Jussi Timperi
a6d1909bd6 Google: restore translate 2015-07-04 02:42:01 +03:00
Valentin Lorentz
451ec28163 Merge pull request #1131 from GLolol/allow-unregistered-db-add
Allow unregistered users to use 'add', 'remove', etc. in ChannelIdDatabasePlugin plugins
2015-06-28 23:54:22 +02:00
James Lu
8e51209c3f Fixes to ChannelIdDatabasePlugin as pointed out by @ProgVal
- Quote: factorize tests
- Make supybot.databases.plugins channel specific
2015-06-28 14:36:27 -07:00
James Lu
1fe663ddb2 Quote: test unauthenticated DB 'add' 2015-06-28 11:24:42 -07:00
Valentin Lorentz
9d93bc6991 Merge pull request #1124 from nyuszika7h/print-function
Add missing future imports for print_function
2015-06-13 00:49:40 +02:00
nyuszika7h
9f059b91ba Add missing future imports for print_function
There are some places where `print()` is used to print a blank line.
However, unless the future feature `print_function` is imported,
that will print `()` in Python 2.
2015-06-12 22:22:16 +02:00
nyuszika7h
59489ab560 NickCapture: Attempt NickServ release on 437 numeric 2015-06-12 15:15:54 +02:00
Valentin Lorentz
8b401249b8 Revert "ShrinkUrl plugin, add BitLy support."
This reverts commit 147cccdf6c.

I prefer not to have APIs with authentication in Limnoria's
officiel plugins, as discussed on GH-361.
2015-06-11 11:31:21 +02:00
Michael Telatynski
147cccdf6c ShrinkUrl plugin, add BitLy support.
Login+ApiKey required for it to function.
2015-06-08 17:57:13 +01:00
Valentin Lorentz
7c4a28d7fd RSS: Remove illegal characters from entries. 2015-06-01 19:32:40 +02:00
Valentin Lorentz
f85395d8b1 Revert ban description-related commits.
Squashed commit of the following:

commit ea4743caa8bdc7abba99635898ae09a9497c43d3
Author: Valentin Lorentz <progval@progval.net>
Date:   Sun May 24 01:07:49 2015 +0200

    Revert "Channel & core: Add support for ban descriptions. Closes GH-1092."

    This reverts commit 6efea561a5.

    Conflicts:
    	src/ircdb.py

commit d43b9229fe926869852c4abda1da1b18a0093938
Author: Valentin Lorentz <progval@progval.net>
Date:   Sun May 24 01:06:30 2015 +0200

    Revert "Fix import of channel database."

    This reverts commit 8ed5522da0.

commit 6c453d9acb3dc37711cb4d51abd9fe216ca65c08
Author: Valentin Lorentz <progval@progval.net>
Date:   Sun May 24 01:06:27 2015 +0200

    Revert "Fix previous commit."

    This reverts commit 394f1554f7.
2015-05-24 01:08:54 +02:00
Valentin Lorentz
ac0e6b86c0 RSS: Fix typo. 2015-05-23 11:48:32 +02:00
Valentin Lorentz
34138b9185 RSS: Don't crash on load if there is an invalid feed name. Closes GH-1116. 2015-05-23 11:40:26 +02:00
Valentin Lorentz
cdb144f500 Fix various debuild warnings. 2015-05-20 20:56:54 +02:00
Michael Telatynski
2334b54792 Add ser_berry's Repository to PluginDownloader 2015-05-19 20:50:40 +01:00
Valentin Lorentz
10a9bc578b Owner: Don't crash on "upkeep high" on Python 3.
Python 3's except statement removes the need for sys.exc_clear,
see https://www.python.org/dev/peps/pep-3100/
2015-05-19 19:10:00 +02:00
Valentin Lorentz
5952b486f5 Later: Don't make Misc raise AssertionErrors. 2015-05-19 00:50:34 +02:00
James Lu
97228afb7d Aka.search: be case insensitive and handle "not found" errors correctly
Closes #1110.
2015-05-18 14:53:30 -07:00
Valentin Lorentz
7e1634f085 PluginDownloader: Add t3chguy's repo. 2015-05-18 15:24:18 +02:00
Valentin Lorentz
db09100772 GPG: Fix previous commit. 2015-05-18 13:01:12 +02:00
Valentin Lorentz
c6697350b3 GPG: Create plugin by moving code from User. 2015-05-18 12:38:18 +02:00
James Lu
24c1caac43 Praise: make tests channel specific
This should fix build errors in Travis CI.
(cherry picked from commit 8dc2996e3597e6a641be089188816b44505366c5)
2015-05-15 17:04:03 -07:00
Valentin Lorentz
b405f998a5 NickAuth: Add support for account-tag (not tested). 2015-05-15 20:46:18 +02:00
Valentin Lorentz
59d542bb70 NickCapture & core: Add support for MONITOR. Closes GH-842. 2015-05-15 19:24:24 +02:00
Valentin Lorentz
ed37fb6646 String & core: Add support for G flag in matchers. Closes GH-1072. 2015-05-15 16:48:00 +02:00
Valentin Lorentz
487f8c8af5 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	.mailmap
	README
	docs/FAQ.rst
	plugins/Ctcp/plugin.py
	plugins/Misc/plugin.py
	plugins/Network/plugin.py
	plugins/QuoteGrabs/plugin.py
	plugins/RSS/README.txt
	plugins/Relay/plugin.py
	plugins/ShrinkUrl/config.py
	plugins/ShrinkUrl/plugin.py
	plugins/ShrinkUrl/test.py
	setup.py
	src/callbacks.py
	src/commands.py
	src/conf.py
	test/test_commands.py
2015-05-15 14:41:08 +02:00
Valentin Lorentz
6efea561a5 Channel & core: Add support for ban descriptions. Closes GH-1092. 2015-05-15 13:43:26 +02:00
Valentin Lorentz
a81d3ddae6 Web: add option for having titlesnarfer immune to defaultignore. Closes GH-1101 2015-05-15 12:39:30 +02:00
Valentin Lorentz
2008956968 RSS: Reove broken (and probably irrelevant) link in the README. 2015-05-10 09:57:11 +00:00
James Lu
308eea922e Aka: add a 'search' command.
Closes ProgVal/Limnoria#1081.
2015-04-26 22:20:24 -07:00
Valentin Lorentz
a7b1e65bd9 AutoMode: Set supybot.plugins.AutoMode.alternativeCapabilities to True by default. 2015-04-22 09:25:38 +02:00
Valentin Lorentz
f293cfaeda ShrinkUrl: Remove goo.gl (buggy) and fix tests. 2015-04-19 12:56:39 +02:00
James Lu
562fa14706 ChannelIdDatabasePlugin: allow unregistered users to use commands
This adds a new configuration variable, supybot.databases.plugins.requireRegistration, which defaults to True for maximum security.
2015-04-15 18:01:06 -07:00
Valentin Lorentz
d8aa4f3181 PluginDownloader: Add @waratte's repo. 2015-04-16 00:25:39 +02:00
Valentin Lorentz
faac1b0f2b Google: Remove translate command, as Google broke it. 2015-04-15 01:38:38 +02:00
James Lu
159c1e7cd8
ShrinkUrl: Remove ln (Closes #618).
ln-s.net has been dead for over half a year now; both their website homepage
and any previous shortened links return an HTTP 503. Thus, it isn't very
useful to leave this broken command lingering around...

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:52:54 -04:00
Mikaela Suomalainen
01e776edc2
ShrinkUrl: use x0 by default. Fixes #617.
x0 has the smallest working output. ur1 had the second smallest.
Their difference is one character.

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:49:02 -04:00
nyuszika7h
8266870d9f
ShrinkUrl: Remove xrl.us
> Please note: Adding new links has been disabled since September 2014
> after 14 months notice.

Source: http://metamark.net/
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:40:59 -04:00
James McCoy
cffbd959e8
Add handling of 437 (nick temporarily unavailable) errors
Servers bind a nick to a connection for a short window after it
disappears to try and avoid contention over nicks.  This may cause a 437
during connection to a server (c.f. ProgVal/Limnoria#1033) or even
during normal nick changes, if the timing is lucky.

Add handling for this error to the startup code and the Admin plugin.

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 01:33:04 -04:00
James McCoy
c3695c9419
ircutils: Add formatWhois function
Parsing through the various WHOIS replies to build a formatted string
isn't a trivial task, especially since there is some privacy related
information.  Consolidate this handling into a single function so
there's one place to fix bugs.

Also fix an issue with people putting (unterminated) formatted text into
the "realname" field of their IRC client (c.f., ProgVal/Limnoria#1083).

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 00:11:36 -04:00
Valentin Lorentz
3275806740 Rename showWhichResponded to showDictName. 2015-03-17 07:58:50 +01:00
James Lu
183592dff0 Dict: add option to toggle showing which dictionaries responded to a query
Dict's output is very long and verbose; this can shorten it by a bit.

Conflicts:
	plugins/Dict/config.py
2015-03-17 07:58:49 +01:00
Valentin Lorentz
381e514b5c Merge pull request #1078 from GLolol/channel/allow-devoice-self
Channel: allow devoicing self
2015-03-16 23:19:20 +01:00
James Lu
d76b5049ac Channel: update tests 2015-03-13 23:37:29 -07:00
James Lu
172f7bdd63 Channel: allow devoicing self
Voice almost always requires halfop or above to set, and since having (half)op gives greater access than voice, I don't see the benefit in restricting this when it won't make a difference anyways.
2015-03-11 15:51:47 -07:00
Valentin Lorentz
530c24604d Merge pull request #1076 from GLolol/patch-1
PluginDownloader: update Iota's repository URL
2015-03-10 08:32:43 +01:00
James Lu
47722f4e6c PluginDownloader: update Iota's repository URL 2015-03-09 16:53:56 -07:00
James Lu
7757f3a1b4 Channel: allow both admins and #channel,ops to use 'part' 2015-03-06 12:50:59 -05:00
Valentin Lorentz
18bafc725f Merge branch 'testing' of github.com:ProgVal/Limnoria into testing 2015-03-02 20:35:56 +00:00
Valentin Lorentz
d04af4a8cb Merge pull request #1067 from GLolol/shrinkurl/remove-ln-s
ShrinkUrl: Remove ln (Closes #618).
2015-02-28 23:44:42 +01:00
James Lu
dae81168d3 ShrinkUrl: Remove ln (Closes #618).
ln-s.net has been dead for over half a year now; both their website homepage
and any previous shortened links return an HTTP 503. Thus, it isn't very
useful to leave this broken command lingering around...
2015-02-28 09:52:42 -08:00
James Lu
e3079f82b2 Merge remote-tracking branch 'upstream/testing' into channel/autorejoin-delay
Conflicts:
	plugins/Channel/config.py
2015-02-27 23:37:11 -08:00
James Lu
f11d3162ae Merge remote-tracking branch 'upstream/testing' into channel/part+cycle
Conflicts:
	plugins/Admin/config.py
	plugins/Admin/plugin.py
2015-02-27 18:55:20 -08:00
James Lu
f3107a928f Channel: allow adding an auto-rejoin delay via supybot.plugins.Channel.rejoinDelay
Closes #1011.
2015-02-27 18:45:37 -08:00
James Lu
32988ee3a3 Channel.cycle: allow specifying part message + defaults to plugins.Channel.partMsg
Closes #1062.
2015-02-27 18:27:58 -08:00
James Lu
a67fb94875 Move 'part' command from Admin to Channel and require #channel,op instead of admin
Closes #79.
2015-02-27 18:12:52 -08:00
Valentin Lorentz
9076194009 Merge pull request #1041 from GLolol/admin/configurable-partmsg
Admin/Owner: substitute $version in quit and part messages (also make part messages configurable)
2015-02-27 13:15:25 +01:00
Johannes Löthberg
d4aa4362e5 dictclient: Remove whitespace at end of lines 2015-02-21 20:08:13 +01:00
Johannes Löthberg
1654bfca0c dictclient: Encode as utf-8 instead of ASCII
dict.org has dictionaries with words containing non-ASCII characters.
2015-02-21 20:08:13 +01:00
James Lu
5f23855d27 oops how do i english 2015-02-20 22:20:49 -08:00
James Lu
41effcea13 Network.whois: simplify message when user isn't on any public channels
The current message ("xyz isn't on any non-secret channels or is using a channel-list hiding umode.") is long and awkwardly worded. 

This also removes an extra period from showing up at the end of the output.
2015-02-20 16:50:40 -08:00
Valentin Lorentz
1264573b34 Merge remote-tracking branch 'kyrias/say-command' into testing 2015-02-14 13:38:56 +01:00
Johannes Löthberg
75288193ad QuoteGrabs: Add say command
The say command just returns the text of the grab, so you can get just
the quote from a specific qid.
2015-02-14 13:15:13 +01:00
Valentin Lorentz
981476d6d5 String: Return raw bytes when decode returns binary data. 2015-02-11 14:09:16 +00:00
Valentin Lorentz
bcd39743f0 String: Strip all newline characters in base64 output. 2015-02-11 14:08:25 +00:00
Valentin Lorentz
468d2762c1 Seen: Factorize code used for checks. 2015-02-10 09:12:26 +01:00
James Lu
a85fbead23 Seen: prevent KeyError when calling commands on channels that the bot is not in
This fixes a bug introdiced by 38ff1a1137.
2015-02-10 01:38:29 -05:00
James Lu
32de4e8270 Merge branch 'testing' into admin/configurable-partmsg 2015-02-07 10:00:48 -08:00
Valentin Lorentz
fa7ef570c0 Merge pull request #1004 from GLolol/karma/nicks-only
Karma: add an option to limit Karma to nicks
2015-02-07 08:41:02 +01:00
Valentin Lorentz
e26fdb9df8 Merge remote-tracking branch 'nyuszika7h/remove-xrl' into testing
Conflicts:
	plugins/ShrinkUrl/plugin.py
2015-02-07 08:39:17 +01:00
Valentin Lorentz
9b36fc9427 Merge pull request #1048 from Hasimir/gpg-extension
Gpg extension - fix subkey/master key conflict
2015-02-07 08:09:12 +01:00
Ben McGinnes
a7bbc46eb9 Streamlining the patch back down to a single line.
Since the keyid should always match the master key, regardless of
whether there's a subkey or not, reduced this to simply make keyid be
the last 16 chars of the master key's fingerprint.
2015-02-07 04:27:51 +11:00
Ben McGinnes
861efee8f2 Removed a relic of poor coding options. 2015-02-06 21:44:20 +11:00
Ben McGinnes
432b8f8fb5 Solved the subkey selection issue.
Changes one line and adds six to do this:

  * change keyid = verified.keyid to be keyid0;
  * added an if/else check to see if it's the subkey or master key; and
  * then set keyid according the result of that check;
  * then continues as normal.
2015-02-06 21:33:30 +11:00
Ben McGinnes
720b299e82 Clearsign authorisation via subkey.
Replacement code which might work to enable advanced keys with signing
subkeys to be correctly handled by the bot by associating the subkey
with the relevant master key.

Signing format still only clearsigning, the key details are more
important and auth via encrypted token and decryption is likely to be
more reliable anyway as there is far less chance of some other protocol
messing with the signed content.  Effectively no chance, though the odd
corrupted packet here and there is still possible.  Whereas with
clearsigning it can be broken by all manner of rewriting in
transit (which happens often enough with signed email as it is).

See also Issue #1045 for greater detail of what needs to be fixed and
what is to be done about it.
2015-02-06 18:11:52 +11:00
James Lu
b243c83e41 Admin/Owner: Use standard substitution for part/quit messages 2015-02-05 20:26:14 -08:00
James Lu
a46f12beeb Merge branch 'owner/quitmsg-version' into admin/configurable-partmsg 2015-02-05 20:13:30 -08:00
James Lu
0e0feb1a84 Owner: substitute %version% for the Supybot version in plugins.Owner.quitMsg (Closes ProgVal#847)
Cherry-picked from commit GLolol@205199e.
2015-02-04 21:20:45 -08:00
GLolol
d844b1d19c Admin: allow specifying a default part message in plugins.admin.partmsg (Closes ProgVal#391)
Cherry-picked from commit GLolol@f69c789.
2015-02-04 21:16:10 -08:00
James Lu
c06ed45983 Channel: prevent mass-highlights with 'nicks' by defaulting the output to private
This adds a new config variable plugins.Channel.nicksInPrivate.

Cherry-picked from commit GLolol@2cc9e9d.
2015-02-04 21:15:42 -08:00
Valentin Lorentz
92ed9975bb Merge pull request #1037 from GLolol/admin/channels-in-private
Admin.channels: call irc.reply() with private=True instead of requiring privacy
2015-01-31 08:23:27 +01:00
Valentin Lorentz
ed62d4d0be Merge pull request #1035 from GLolol/shrinkurl/httpUrl
ShrinkUrl: use httpUrl instead of url in wrap()
2015-01-31 08:22:12 +01:00
Valentin Lorentz
644ea99524 Merge pull request #1034 from GLolol/google-1
Google: show the API's real error message instead of a generic error
2015-01-31 08:17:57 +01:00
GLolol
c99dab4df4 Google: show the API's real error message instead of a generic error
This makes it easier to debug issues like #955 in the future, whether it be session limit exceeded, an API change, etc.

Also, remove duplicated checking clause for the HTTP error code.
2015-01-31 00:02:18 -05:00
GLolol
b59db48e20 Admin: 'channels': call reply() w/ private=True instead of requiring privacy 2015-01-30 23:55:24 -05:00
James Lu
3a8b1d00dc ShrinkUrl: use httpUrl instead of url in wrap() 2015-01-30 23:54:10 -05:00
a5cfad3a05 RSS: rewrite basic usage in README 2015-01-27 09:13:30 +02:00
nyuszika7h
1d722f9c30 ShrinkUrl: Remove xrl.us
> Please note: Adding new links has been disabled since September 2014
> after 14 months notice.

Source: http://metamark.net/
2015-01-24 19:33:33 +01:00
nyuszika7h
21cfa58a51 ShrinkUrl: Update PO files from messages.pot 2015-01-24 11:50:37 +01:00