Commit Graph

65 Commits

Author SHA1 Message Date
Valentin Lorentz 63eb6672ea Revert generic 'The Limnoria Contributors' in copyright notices
This commit reverts db7ef3f025
(though it keeps the year updates)

After discussion with several people, it seems better to mention
copyright owners explicitly. eg. https://reuse.software/faq/#vcs-copyright
explains the issue of using VCSs to track copyright.

As db7ef3f025 only replaced mentions
of my name with 'The Limnoria Contributors', this commit only needs
to undo that + add one person who contributed to setup.py.
2021-10-17 09:57:55 +02:00
Valentin Lorentz db7ef3f025 all: Add generic 'The Limnoria Contributors' to copyright notices.
No need to bother with details (that are all outdated / out of sync
anyway), just look up the git history.
2021-08-01 21:54:49 +02:00
Valentin Lorentz 2293d1c129 Services: Update to the latest version of the draft/account-registration spec. 2021-06-15 20:35:55 +02:00
Valentin Lorentz 4b82934131 Services: Add @nickserv and @chanserv command, to message services directly
This is because the recommended method ('owner ircquote nickserv register mypassword bot@example.com')
does not work on charybdis, as Limnoria inserts a colon
before the trailing argument and Charybdis' m_alias module
does not parse commands using the IRC syntax, so it
considers the leading colon to be part of the email address.

The alternative would be to change the recommended command to:
'owner ircquote PRIVMSG nickserv :register mypassword bot@example.com'
but it is prone to typos, so I think we should avoid it.
2021-06-14 21:47:36 +02:00
David Macek 3d21c7cbcb Services: Keep per-network state separate
Until now, only `waitingJoins` was stored separately per network, while
`channels`, `sentGhost` and `identified` had one common value per plugin
instance.  Instead of making everything a dictionary indexed by network
name like `waitingJoins`, let's bundle all the state together in a class
and store *its* instances in such a dictionary.

This fixes at least one race condition, for which a test case was added.
Even with `noJoinsUntilIdentified` set, the bot would let joins through
as long as *any* one network has already finished identifying.
2021-04-27 19:52:58 +02:00
David Macek 4d2efc65ef Remove some unused names 2021-04-24 21:01:40 +02:00
Valentin Lorentz 24f20dcb86 Factoids, Services: Fix crash when imported by supybot-plugin-doc 2021-04-05 11:30:59 +02:00
Valentin Lorentz 975a9101f4 Services: Fix conditional on supybot.protocols.irc.experimentalExtensions
It was always true-ish because we tested the variable itself instead
of its value.
2021-03-04 21:30:07 +01:00
Valentin Lorentz 8b497af30b Services: Add support for REGISTER responses in nested batches. 2021-03-04 18:48:15 +01:00
Valentin Lorentz 85549bf0c3 Services: Fix typo in docstring 2021-01-30 19:41:26 +01:00
Valentin Lorentz c016ed5bfd Services: Add support for batches as reply to REGISTER/VERIFY.
Oragono uses them.
2021-01-25 22:03:08 +01:00
Valentin Lorentz 1c6c1cb16a Services: Add initial implementation of the @register and @verify commands.
Using this early draft specification:
https://gist.github.com/edk0/bf3b50fc219fd1bed1aa15d98bfb6495
2021-01-25 21:57:12 +01:00
Richard 143cd9d506 Services: Fix typo in doInvite() (#1394) 2019-12-13 11:01:48 -08:00
Valentin Lorentz b65d78518c Services: Add support for network-specific password. 2019-08-25 14:08:11 +02:00
Valentin Lorentz c1ae3f5c81 all plugins: Use msg.channel instead of msg.args[0] + give network name to self.registryValue. 2019-08-24 23:35:01 +02:00
Valentin Lorentz 696254ff1b Use irc.isChannel instead of ircutils.isChannel when possible.
It's aware of the network's 'chantypes'.
2019-08-04 21:52:40 +02:00
James Lu 55723c2161 Services: fix rejoin-on-kickban with atheme 7.x
- Adjust _chanRe to only match channels, as atheme also puts the target nick in bold
- Look for "unbanned <botnick>" messages in ChanServ notices (after stripping formatting)

This likely fixes GH-166. atheme has been using this format since at least 2005[1],
so it's possible that Supybot's rejoin-on-ban had never worked with it.

[1]: 4017c0da85 (diff-ba2bdc02ba7b29fd7e4931cafe63baa0R218)
2018-01-27 13:22:21 -08:00
James Lu add3ceb4e7 Services: do not send the bot's nick in ChanServ commands
On Atheme, Anope, and oftc-ircservices, /cs unban, invite, op, and voice
implicitly assume the caller if no nick is given. However, certain combinations
such as /cs invite *with* a nick are not supported on atheme per
https://github.com/atheme/atheme/issues/568, and cause rejoin-on-kick to +i
channels to fail.

This fixes one part of GH-1118.
2018-01-27 13:22:15 -08:00
James Lu eb1cb9bd76 Services: don't mangle the case of NickServ notices in logging
This might be confusing if you're dealing with password changes, etc.
2018-01-27 12:33:36 -08:00
James Lu 289c894dc5 Services: log all messages from NickServ to info
Closes GH-1016.
2017-12-10 11:03:30 -08:00
Valentin Lorentz e54ae6dc77 Service: Don't ghost if ghostDelay is set to 0. 2015-09-15 20:59:26 +02:00
Valentin Lorentz c3a2c800f1 Remove need for 2to3. 2015-08-11 16:50:23 +02:00
GLolol 5bc0d4311c Services: update my comment 2014-11-27 22:53:08 -08:00
James Lu 3665d263ac Services: don't warn about unexpected ChanServ notices if the target is a channel 2014-11-27 21:18:00 -08:00
Milos Petkovic 0f3f6da843 Multiple channel types should be supported 2013-06-17 23:54:59 +02:00
Milos Petkovic b4a63fa89e Prevent entrymsgs from spamming warnings 2013-06-17 08:53:44 +02:00
Valentin Lorentz 3dba9088b0 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	INSTALL
	plugins/ChannelLogger/README.txt
	plugins/ChannelStats/README.txt
	plugins/Google/plugin.py
	plugins/Google/test.py
	plugins/Plugin/test.py
	plugins/Web/test.py
	setup.py
	src/callbacks.py
	src/ircdb.py
	src/irclib.py
	src/utils/str.py
	test/test_irclib.py
2013-01-01 21:11:24 +01:00
James McCoy 82ecf36fcd Update my name/contact information
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-01 10:16:48 -04:00
James McCoy d1bc7922ee Simplify handling of per-network waitingJoins
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-13 18:08:00 +01:00
Daniel Folkinshteyn 761435ba1a Services: catch occasional error when removing waiting joins from list
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-13 18:07:56 +01:00
Daniel Folkinshteyn 8c3304c520 Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true.
When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.

This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.

Conflicts:

	src/version.py

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>

Conflicts:

	plugins/Services/plugin.py
2011-12-13 18:07:22 +01:00
James McCoy c90fafebe7 Simplify handling of per-network waitingJoins
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-06 00:55:29 -05:00
Daniel Folkinshteyn 1e1b39783b Services: catch occasional error when removing waiting joins from list
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-06 00:53:19 -05:00
Daniel Folkinshteyn d5648ab534 Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true.
When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.

This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.

Conflicts:

	src/version.py

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-06 00:53:07 -05:00
Daniel Folkinshteyn 71bcc2bc7c Services: add some more strings indicating identification success.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-06 00:38:29 -05:00
Valentin Lorentz 05b32b467f Services: Fix traceback on NickServ notice. 2011-11-15 06:29:36 +01:00
Valentin Lorentz e253fe1543 Allow network-specific nicks. Closes GH-134. 2011-10-27 12:31:37 +02:00
Valentin Lorentz be585ecea9 Merge remote-tracking branch 'supybot/maint/0.83.4' into testing
Conflicts:
	src/ircutils.py
2011-08-23 16:41:52 +02:00
Daniel Folkinshteyn 98996be251 Services: catch occasional error when removing waiting joins from list 2011-08-10 12:01:30 +02:00
Daniel Folkinshteyn 6dca55deeb Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true.
When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.

This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.
2011-08-10 12:00:42 +02:00
Daniel Folkinshteyn b0bd346775 Services: add some more strings indicating identification success. 2011-01-29 11:36:48 +01:00
Valentin Lorentz db977bf5d2 Fix Python2.5 issue (class decorators)
Issue S-fr#5
2010-10-26 09:32:12 +02:00
Valentin Lorentz 371a40e004 Internationalize Seen, Services, ShrinkUrl, Status, String, and Success 2010-10-20 09:10:03 +02:00
James Vega cb48912db6 Services: Correct formatting of "isn't registered" log.
Closes: Sf#3075937
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-10-03 14:58:38 -04:00
James Vega 0ff414b993 Services: Don't filter outgoing JOIN messages on disabled networks
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit acffde68ab)
2010-08-24 19:52:22 -04:00
James Vega 0f877166ad Services: Fix conflict with callbacks.Commands.isDisabled
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit f926804f40)
2010-08-24 19:51:09 -04:00
James Vega 976567c1ac Services: Disable most of the plugin on networks in the disabled list.
Notify the user when trying to use the commands on a disabled network, ignore
noJoinsUntilIdentified, and don't try communicating with services.

Closes: Sf#3018464

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 9e73f4482c)
2010-08-24 19:50:11 -04:00
James Vega acffde68ab Services: Don't filter outgoing JOIN messages on disabled networks
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-06-27 19:48:36 -04:00
James Vega f926804f40 Services: Fix conflict with callbacks.Commands.isDisabled
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-06-19 22:38:27 -04:00
James Vega 9e73f4482c Services: Disable most of the plugin on networks in the disabled list.
Notify the user when trying to use the commands on a disabled network, ignore
noJoinsUntilIdentified, and don't try communicating with services.

Closes: Sf#3018464

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-06-19 16:59:13 -04:00