aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2020-06-13 08:17:04 +0300
committerGravatar GitHub <[email protected]>2020-06-13 08:17:04 +0300
commit8bb1dca65121b0ceb9ba7a1f26642f7e0b73860c (patch)
tree911126cffe9c98ebf834b7047e908e0f0afeb517
parentFix `create_channels`, `get_category` docstrings (diff)
Jams: Use `Guild` instead `Context` for helper functions
-rw-r--r--bot/cogs/jams.py38
1 files changed, 19 insertions, 19 deletions
diff --git a/bot/cogs/jams.py b/bot/cogs/jams.py
index 74140b9db..75cf8fe6b 100644
--- a/bot/cogs/jams.py
+++ b/bot/cogs/jams.py
@@ -1,7 +1,7 @@
import logging
import typing as t
-from discord import CategoryChannel, Member, PermissionOverwrite, utils
+from discord import CategoryChannel, Guild, Member, PermissionOverwrite, utils
from discord.ext import commands
from more_itertools import unique_everseen
@@ -41,8 +41,8 @@ class CodeJams(commands.Cog):
)
return
- team_channel = await self.create_channels(ctx, team_name, members)
- await self.add_roles(ctx, members)
+ team_channel = await self.create_channels(ctx.guild, team_name, members)
+ await self.add_roles(ctx.guild, members)
await ctx.send(
f":ok_hand: Team created: {team_channel}\n"
@@ -51,19 +51,19 @@ class CodeJams(commands.Cog):
)
@staticmethod
- async def get_category(ctx: commands.Context) -> CategoryChannel:
+ async def get_category(guild: Guild) -> CategoryChannel:
"""Create a Code Jam category if it doesn't exist and return it."""
- code_jam_category = utils.get(ctx.guild.categories, name="Code Jam")
+ code_jam_category = utils.get(guild.categories, name="Code Jam")
if code_jam_category is None:
log.info("Code Jam category not found, creating it.")
category_overwrites = {
- ctx.guild.default_role: PermissionOverwrite(read_messages=False),
- ctx.guild.me: PermissionOverwrite(read_messages=True)
+ guild.default_role: PermissionOverwrite(read_messages=False),
+ guild.me: PermissionOverwrite(read_messages=True)
}
- code_jam_category = await ctx.guild.create_category_channel(
+ code_jam_category = await guild.create_category_channel(
"Code Jam",
overwrites=category_overwrites,
reason="It's code jam time!"
@@ -72,7 +72,7 @@ class CodeJams(commands.Cog):
return code_jam_category
@staticmethod
- def get_overwrites(members: t.List[Member], ctx: commands.Context) -> t.Dict[Member, PermissionOverwrite]:
+ def get_overwrites(members: t.List[Member], guild: Guild) -> t.Dict[Member, PermissionOverwrite]:
"""Get Code Jam team channels permission overwrites."""
# First member is always the team leader
team_channel_overwrites = {
@@ -82,8 +82,8 @@ class CodeJams(commands.Cog):
manage_webhooks=True,
connect=True
),
- ctx.guild.default_role: PermissionOverwrite(read_messages=False, connect=False),
- ctx.guild.get_role(Roles.verified): PermissionOverwrite(
+ guild.default_role: PermissionOverwrite(read_messages=False, connect=False),
+ guild.get_role(Roles.verified): PermissionOverwrite(
read_messages=False,
connect=False
)
@@ -98,14 +98,14 @@ class CodeJams(commands.Cog):
return team_channel_overwrites
- async def create_channels(self, ctx: commands.Context, team_name: str, members: t.List[Member]) -> str:
+ async def create_channels(self, guild: Guild, team_name: str, members: t.List[Member]) -> str:
"""Create team text and voice channels. Return the mention for the text channel."""
# Get permission overwrites and category
- team_channel_overwrites = self.get_overwrites(members, ctx)
- code_jam_category = await self.get_category(ctx)
+ team_channel_overwrites = self.get_overwrites(members, guild)
+ code_jam_category = await self.get_category(guild)
# Create a text channel for the team
- team_channel = await ctx.guild.create_text_channel(
+ team_channel = await guild.create_text_channel(
team_name,
overwrites=team_channel_overwrites,
category=code_jam_category
@@ -114,7 +114,7 @@ class CodeJams(commands.Cog):
# Create a voice channel for the team
team_voice_name = " ".join(team_name.split("-")).title()
- await ctx.guild.create_voice_channel(
+ await guild.create_voice_channel(
team_voice_name,
overwrites=team_channel_overwrites,
category=code_jam_category
@@ -123,13 +123,13 @@ class CodeJams(commands.Cog):
return team_channel.mention
@staticmethod
- async def add_roles(ctx: commands.Context, members: t.List[Member]) -> None:
+ async def add_roles(guild: Guild, members: t.List[Member]) -> None:
"""Assign team leader and jammer roles."""
# Assign team leader role
- await members[0].add_roles(ctx.guild.get_role(Roles.team_leaders))
+ await members[0].add_roles(guild.get_role(Roles.team_leaders))
# Assign rest of roles
- jammer_role = ctx.guild.get_role(Roles.jammers)
+ jammer_role = guild.get_role(Roles.jammers)
for member in members:
await member.add_roles(jammer_role)