This commit is contained in:
Nexus 2024-09-19 17:47:05 +01:00
parent a35d3e870e
commit 7c020d47c2

View file

@ -125,13 +125,13 @@ class MSCGetter(niobot.Module):
async def msc(
self,
ctx: niobot.Context,
number: niobot.Argument("number", str, greedy=True)
number_or_query: str
):
"""Fetches the given MSC"""
number: str
if number.startswith("?"): # search
msg = await ctx.respond("Searching for relevant MSCs...")
results = await self.search_for_msc(number[1:])
number_or_query: str
if number_or_query.startswith("?"): # search
msg = await ctx.respond("Searching for relevant MSCs with query %r..." % number_or_query[1:])
results = await self.search_for_msc(number_or_query[1:])
if not results:
await msg.edit("No MSCs matched your query.")
@ -169,15 +169,15 @@ class MSCGetter(niobot.Module):
else:
await msg.edit(content=lines_formatted)
return
if number.startswith("msc"):
number = number[3:]
elif number.startswith("#"):
number = number[1:]
if not number.isdigit() or len(number) != 4:
if number_or_query.startswith("msc"):
number_or_query = number_or_query[3:]
elif number_or_query.startswith("#"):
number_or_query = number_or_query[1:]
if not number_or_query.isdigit() or len(number_or_query) != 4:
return await ctx.respond("Invalid MXC number.")
msg = await ctx.respond("Fetching MSC #{:0>4}...".format(number))
data: dict = await self.get_msc_with_cache(int(number))
msg = await ctx.respond("Fetching MSC #{:0>4}...".format(number_or_query))
data: dict = await self.get_msc_with_cache(int(number_or_query))
if data.get("error"):
return await msg.edit(data["error"])
return await msg.edit(self.pr_to_display(data))