Commit Graph

5250 Commits

Author SHA1 Message Date
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
10adcfc904 Debug: fix language
[CI SKIP]
2015-01-23 08:27:50 +02:00
1e99533d74 Debug: add messages.pot & locales/
I added .gitignore to locales/ as it would get removed if it was empty.
When people start adding translations, it's probably safe to remove.

This plugin looks too difficult for me to translate, but I will take a
look later.
2015-01-22 18:54:43 +02:00
25f673d483 Debug: update <I am not sure what that is> 2015-01-22 18:48:36 +02:00
3ddff6cf18 Debug: rewrite README.md
I am lazy, so I simply copied it from plugin help.
2015-01-22 18:44:37 +02:00
776d96584a Debug: move from sandbox/ to plugins/
I also added symlink to the old place pointing to the new place.
2015-01-21 17:01:29 +02:00
d2dd69b6df Anonymous: remove dangerous example from README
Anonymous tell uses normal privmsg which doesn't check that services are
U-lined and not random user pretending to be them.

The correct way to identify to NickServ after already being connected is
`ircquote nickserv identify username password`.
2015-01-18 21:09:26 +02:00
James Lu
981ec12baa Karma: add tests for onlyNicks 2015-01-17 02:49:30 -05:00
Valentin Lorentz
d85e09e3ed Make repository names case-insenstive. Closes GH-1005. 2015-01-16 08:12:59 +01:00
James Lu
bc7430cce4 Karma: make onlyNicks a config option
Conflicts:
	plugins/Karma/plugin.py
2015-01-14 21:47:40 -05:00
James Lu
5bd2c5eaaf Aka: add 'aka list --keys'
This allows one to view just the list of Akas without their commands,
similar to the older 'list aka' behavior.
2015-01-14 21:39:31 -05:00
GLolol
4729213898 Karma: refactor _doKarma handling 2015-01-12 18:08:44 -08:00
GLolol
40310c4d5a Karma: only track karma for nicks 2015-01-11 19:47:20 -08:00
Valentin Lorentz
dd818f6e7e Merge pull request #998 from GLolol/nickauth-1
NickAuth: fix leak of information if 'nick list' is used on a user without a configured nick
2015-01-11 08:58:07 +01:00
Valentin Lorentz
17ffcc1a5e Merge pull request #997 from Mikaela/es
Add l10n-es for AutoMode, BadWords & Google
2015-01-11 08:57:36 +01:00
Valentin Lorentz
3decf9ae0a Merge pull request #1000 from GLolol/patch-1
PluginDownloader: remove broken repo/unused import
2015-01-11 08:38:24 +01:00
James Lu
867cdb0562 PluginDownloader: remove broken repo/unused import
Antibody/supybot-plugins does not seem to work anymore, and causes errors with 'repolist'.
2015-01-10 20:16:47 -08:00
James Lu
7c9e5708a2 NickAuth: fix leak of information if 'nick list' is used on a user without a configured nick (Closes ProgVal/Limnoria#996) 2015-01-09 13:12:57 -05:00
Aaron Farias
8c88f7f8c2 Add l10n-es for AutoMode, BadWords & Google
Closes #986
2015-01-09 20:04:59 +02:00
Valentin Lorentz
aa89a2dd72 Trying to make the tests fail less… 2015-01-05 20:39:22 +01:00
Valentin Lorentz
7012143c1d Merge pull request #982 from GLolol/time-1
Time: refactor code, make tztime respect plugins.Time.format
2015-01-03 20:18:38 +01:00
Valentin Lorentz
5b3f4cc159 Merge pull request #989 from GLolol/badwords-1
BadWords: bug fix, don't kick ops, remove unused import
2015-01-03 20:16:46 +01:00
GLolol
d8404252ae BadWords: update help message 2015-01-03 14:15:59 -05:00
GLolol
7e7c4425cf BadWords: bugfix & don't kick ops (Closes ProgVal/Limnoria#275) 2015-01-02 22:08:59 -05:00
GLolol
f2c66480bc Filter: fix a bug introduced by b78319ba2a
This caused the first character in text to be cut off if it is not set to be replaced (e.g. a letter
when 'config plugins.format.spellit.replaceletters' is off).
2015-01-02 20:55:24 -05:00
James Lu
382f46d7be Time.time: reintroduce ability to specify <channel> 2015-01-02 12:22:07 -08:00
Aaron Farias
b04fce0b5b Google: add l10n-es 2015-01-02 08:59:23 +02:00
Aaron Farias
1fe353d15e Alias & Anonymous: add l10n-es
also fix copyright of Admin l10n-es.
2015-01-01 19:38:37 +02:00
Aaron Farias
8e56700bf9 Admin: add l10n-es 2015-01-01 18:52:24 +02:00
GLolol
cc2780b78a Time.time: simply channel-handling code for getting formats 2015-01-01 00:00:25 -05:00
GLolol
a1d949c861 Time: improvements to 'tztime'
- Import pytz on load, not every time the command is called
- Respect plugins.time.format
- Use irc.error(e, Raise=True) instead of return
2014-12-31 23:59:56 -05:00
GLolol
9027a14bb6 Filter: fix 'outfilter stripcolor' (Closes #661) 2014-12-31 14:23:18 -05:00
James Lu
b6f798263b Misc: add 'clearmores' command (Closes ProgVal/Limnoria#953) 2014-12-28 22:59:11 -08:00
Valentin Lorentz
b2f84c9e2e Merge pull request #973 from GLolol/quote-replace
Quote: add a 'replace' command
2014-12-27 20:25:46 +01:00
Valentin Lorentz
cb441da644 Merge pull request #974 from GLolol/topic-allow-separator
Topic: remove limitation forbidding the topic separator in topic.add
2014-12-27 20:12:20 +01:00
GLolol
53792fbe6c Quote: add tests for 'replace' 2014-12-27 10:46:58 -08:00
James Lu
cef54fcfa3 Topic: run autopep8 on plugin.py 2014-12-27 10:41:56 -08:00
Valentin Lorentz
ecb4ab0487 Merge pull request #975 from GLolol/topic-remove-commalist
Topic: in 'topic.remove', allow specifying multiple topic numbers to remove
2014-12-27 08:39:17 +01:00
GLolol
4f38958b70 Topic: allow configuring whether the separator is allowed in topics 2014-12-26 19:10:32 -05:00
GLolol
b81bd2589e Topic: add test for removing multiple topics 2014-12-26 17:23:28 -05:00
GLolol
465fe857bc Topic: switch 'remove' to many instead of commalist 2014-12-26 17:23:28 -05:00
Valentin Lorentz
be743f97ee Merge pull request #971 from GLolol/plugin-init
plugins/__init__.py: remove some unused imports
2014-12-26 23:03:28 +01:00
GLolol
e09f2ed815 Topic: allow specifying a commalist of topic numbers in 'remove' 2014-12-26 16:50:14 -05:00
GLolol
e086057048 Topic: remove duplicate import 2014-12-26 16:46:16 -05:00
GLolol
93d94067d0 Quote: add 'replace' command 2014-12-26 16:45:13 -05:00
GLolol
ad0d4481aa plugins/__init__.py: remove some unused? imports 2014-12-26 16:44:42 -05:00
GLolol
c492cb40e1 Aka: add a missing '.' in the error message 2014-12-26 16:21:20 -05:00
GLolol
b76cff73a8 Revert "Aka: update converters to use 'channel' instead of 'somethingWithoutSpaces'"
This reverts commit 231c250b75.
2014-12-26 16:18:39 -05:00
GLolol
4a70a9a79c Merge branch 'testing' into aka-2
Conflicts:
	plugins/Aka/plugin.py
2014-12-26 14:05:32 -05:00
James Lu
231c250b75 Aka: update converters to use 'channel' instead of 'somethingWithoutSpaces' 2014-12-22 19:57:26 -08:00