mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 09:19:23 +01:00
relay: attempt to remove persistent channels on delink as well
Also, wrap remove_persistent_channel calls with a try/except when they may fail.
This commit is contained in:
parent
8994811f54
commit
92be421fad
@ -539,7 +539,10 @@ def remove_channel(irc, channel):
|
||||
if irc is None:
|
||||
return
|
||||
|
||||
try:
|
||||
world.services['pylink'].remove_persistent_channel(irc, 'relay', channel, try_part=False)
|
||||
except KeyError:
|
||||
log.warning('(%s) relay: failed to remove persistent channel %r on delink', irc.name, channel, exc_info=True)
|
||||
|
||||
relay = get_relay(irc, channel)
|
||||
if relay and channel in irc.channels:
|
||||
@ -554,7 +557,10 @@ def remove_channel(irc, channel):
|
||||
# have the channel registered.
|
||||
sbot = irc.get_service_bot(user)
|
||||
if sbot:
|
||||
sbot.part(irc, channel)
|
||||
try:
|
||||
sbot.remove_persistent_channel(irc, 'relay', channel)
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
irc.part(user, channel, 'Channel delinked.')
|
||||
if user != irc.pseudoclient.uid and not irc.users[user].channels:
|
||||
|
Loading…
Reference in New Issue
Block a user