main: Remove Discord webhooks if they are not authenticated

This commit is contained in:
PapaTutuWawa 2022-05-01 16:17:51 +02:00
parent 48c8893ddf
commit 757976c8f6

View File

@ -206,7 +206,11 @@ class BridgeComponent(ComponentXMPP):
wh = None wh = None
for webhook in await dchannel.webhooks(): for webhook in await dchannel.webhooks():
if webhook.name == "discord-xmpp-bridge": if webhook.name == "discord-xmpp-bridge":
wh = webhook if not webhook.is_authenticated():
_logger.info("Webhook for %s has no token. Deleting and recreating" % muc)
await webhook.delete(reason="Webhook has no token. Will recreate")
else:
wh = webhook
break break
if not wh: if not wh:
wh = await dchannel.create_webhook(name="discord-xmpp-bridge", wh = await dchannel.create_webhook(name="discord-xmpp-bridge",
@ -526,7 +530,15 @@ def main():
general["port"], general["port"],
general["discord_token"], general["discord_token"],
config) config)
for xep in [ "0030", "0199", "0045", "0084", "0153", "0054", "0060" ]: for xep in [
"0030",
"0199",
"0045",
"0084",
"0153",
"0054",
"0060"
]:
xmpp.register_plugin(f"xep_{xep}") xmpp.register_plugin(f"xep_{xep}")
logging.basicConfig(stream=sys.stdout, level=verbosity) logging.basicConfig(stream=sys.stdout, level=verbosity)