Commit Graph

5330 Commits

Author SHA1 Message Date
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