aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/cogs/news.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/bot/cogs/news.py b/bot/cogs/news.py
index 6e9441997..878e533ef 100644
--- a/bot/cogs/news.py
+++ b/bot/cogs/news.py
@@ -19,7 +19,9 @@ class News(Cog):
def __init__(self, bot: Bot):
self.bot = bot
+ self.webhook_names = {}
self.bot.loop.create_task(self.sync_maillists())
+ self.bot.loop.create_task(self.get_webhook_names())
self.post_pep_news.start()
@@ -39,6 +41,17 @@ class News(Cog):
await self.bot.api_client.put("bot/bot-settings/news", json=response)
+ async def get_webhook_names(self) -> None:
+ """Get webhook author names from maillist API."""
+ await self.bot.wait_until_guild_available()
+
+ async with self.bot.http_session.get("https://mail.python.org/archives/api/lists") as resp:
+ lists = await resp.json()
+
+ for mail in lists:
+ if mail["name"].split("@")[0] in constants.PythonNews.mail_lists:
+ self.webhook_names[mail["name"].split("@")[0]] = mail["display_name"]
+
@loop(minutes=20)
async def post_pep_news(self) -> None:
"""Fetch new PEPs and when they don't have announcement in #python-news, create it."""