aboutsummaryrefslogtreecommitdiffstats
path: root/arthur/exts/fun/devops_rules.py
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2023-02-08 23:54:57 +0400
committerGravatar GitHub <[email protected]>2023-02-08 23:54:57 +0400
commit714faedc3883635f3951ddbee26dcac37ece02df (patch)
tree64e39324f52b85b44adfaa4589981a8bd56b7d47 /arthur/exts/fun/devops_rules.py
parentMerge pull request #30 from Xithrius/patch-1 (diff)
parentBump dependancies (diff)
Merge pull request #37 from python-discord/rule-refresh-command
Rule refresh command
Diffstat (limited to 'arthur/exts/fun/devops_rules.py')
-rw-r--r--arthur/exts/fun/devops_rules.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/arthur/exts/fun/devops_rules.py b/arthur/exts/fun/devops_rules.py
index 9c231d8..66b0078 100644
--- a/arthur/exts/fun/devops_rules.py
+++ b/arthur/exts/fun/devops_rules.py
@@ -3,7 +3,7 @@
from typing import TypedDict
import discord
-from discord.ext.commands import Cog, Context, Greedy, command
+from discord.ext.commands import Cog, Context, Greedy, group
from arthur.bot import KingArthur, logger
from arthur.config import CONFIG
@@ -72,8 +72,8 @@ class Rules(Cog):
if block.get("type") == "numbered_list_item"
}
- @command(name="rules", aliases=("rule",))
- async def get_rules(self, ctx: Context, rules: Greedy[int]) -> None:
+ @group(name="rules", aliases=("rule",))
+ async def rules_group(self, ctx: Context, rules: Greedy[int]) -> None:
"""List the requested rule(s), or all of them if not defined."""
if rules:
output_rules = set(rules) & set(self.rules.keys())
@@ -85,16 +85,21 @@ class Rules(Cog):
return
output = "\n".join(
- f"{key}: {value}"
- for key, value in self.rules.items()
- if key in output_rules
+ f"{key}: {value}" for key, value in self.rules.items() if key in output_rules
)
- await ctx.send(embed=discord.Embed(
- title=f"Rule{'s'[:len(output_rules)^1]}",
- description=output,
- colour=discord.Colour.og_blurple(),
- url="https://www.notion.so/pythondiscord/Rules-149bc48f6f7947afadd8036f11d4e9a7",
- ))
+ await ctx.send(
+ embed=discord.Embed(
+ title=f"Rule{'s'[:len(output_rules)^1]}",
+ description=output,
+ colour=discord.Colour.og_blurple(),
+ url="https://www.notion.so/pythondiscord/Rules-149bc48f6f7947afadd8036f11d4e9a7",
+ )
+ )
+
+ @rules_group.command(name="refresh", aliases=("fetch", "update"))
+ async def update_rules(self, ctx: Context) -> None:
+ """Re-fetch the list of rules from notion."""
+ await self.cog_load()
async def setup(bot: KingArthur) -> None: