Typos and reformat

This commit is contained in:
Elnath 2021-06-08 01:56:24 +02:00
parent f395e3561b
commit aae877693a
3 changed files with 19 additions and 17 deletions

View File

@ -1,6 +1,7 @@
from typing import Dict, Callable, List, Union
import discord
import logging import logging
from typing import Dict, Callable, List, Union
import discord
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -31,24 +32,24 @@ class Game:
player = player.id player = player.id
return self.config["player_info"][str(player)] return self.config["player_info"][str(player)]
def get_dm_role(self) -> int: def get_gm_role(self) -> int:
return self.config["dm_role"] return self.config["gm_role"]
def get_game_category(self) -> int: def get_game_category(self) -> int:
return self.config["category"] return self.config["category"]
async def start(self, guild: discord.Guild, dm_role: discord.Role, player_role: discord.Role): async def start(self, guild: discord.Guild, gm_role: discord.Role, player_role: discord.Role):
if self.is_started(): if self.is_started():
raise ValueError("Game already started") raise ValueError("Game already started")
logger.info(f"[{guild.name}] Starting game") logger.info(f"[{guild.name}] Starting game")
self.config["dm_role"] = dm_role.id self.config["gm_role"] = gm_role.id
self.config["player_role"] = player_role.id self.config["player_role"] = player_role.id
self.config["players"] = [member.id for member in player_role.members] self.config["players"] = [member.id for member in player_role.members]
self.config["player_info"] = {str(player): {} for player in self.config["players"]} self.config["player_info"] = {str(player): {} for player in self.config["players"]}
permissions = { permissions = {
guild.default_role: discord.PermissionOverwrite(send_messages = False), guild.default_role: discord.PermissionOverwrite(send_messages = False),
dm_role: discord.PermissionOverwrite(send_messages = True), gm_role: discord.PermissionOverwrite(send_messages = True),
player_role: discord.PermissionOverwrite(send_messages = True), player_role: discord.PermissionOverwrite(send_messages = True),
} }
game_category = await guild.create_category("In-game", overwrites = permissions) game_category = await guild.create_category("In-game", overwrites = permissions)
@ -57,14 +58,14 @@ class Game:
permissions = { permissions = {
guild.default_role: discord.PermissionOverwrite(read_messages = False), guild.default_role: discord.PermissionOverwrite(read_messages = False),
dm_role: discord.PermissionOverwrite(read_messages = True), gm_role: discord.PermissionOverwrite(read_messages = True),
} }
self.config["admin_chan"] = (await game_category.create_text_channel("admin", overwrites = permissions)).id self.config["admin_chan"] = (await game_category.create_text_channel("admin", overwrites = permissions)).id
logger.debug(f"[{guild.name}] Created admin channel") logger.debug(f"[{guild.name}] Created admin channel")
permissions = { permissions = {
guild.default_role: discord.PermissionOverwrite(send_messages = False), guild.default_role: discord.PermissionOverwrite(send_messages = False),
dm_role: discord.PermissionOverwrite(send_messages = True), gm_role: discord.PermissionOverwrite(send_messages = True),
} }
self.config["announce_chan"] = (await game_category.create_text_channel("announce", overwrites = permissions)).id self.config["announce_chan"] = (await game_category.create_text_channel("announce", overwrites = permissions)).id
self.config["votes_chan"] = (await game_category.create_text_channel("votes", overwrites = permissions)).id self.config["votes_chan"] = (await game_category.create_text_channel("votes", overwrites = permissions)).id
@ -78,7 +79,7 @@ class Game:
channel_permissions = { channel_permissions = {
guild.default_role: discord.PermissionOverwrite(read_messages = False), guild.default_role: discord.PermissionOverwrite(read_messages = False),
player_member: discord.PermissionOverwrite(read_messages = True), player_member: discord.PermissionOverwrite(read_messages = True),
dm_role: discord.PermissionOverwrite(read_messages = True), gm_role: discord.PermissionOverwrite(read_messages = True),
} }
player_channel = await game_category.create_text_channel(player_member.name, overwrites = channel_permissions) player_channel = await game_category.create_text_channel(player_member.name, overwrites = channel_permissions)
self.get_player_info(player)["channel"] = player_channel.id self.get_player_info(player)["channel"] = player_channel.id

View File

@ -3,7 +3,9 @@ import json
import logging import logging
from pathlib import Path from pathlib import Path
from typing import Union, Dict, Callable, Tuple from typing import Union, Dict, Callable, Tuple
import discord import discord
from .Game import Game from .Game import Game
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -8,9 +8,8 @@ import discord
import discord.utils import discord.utils
from discord.ext import commands from discord.ext import commands
from GameFiles import GamesFile
from GameFiles import Game
import utils import utils
from GameFiles import GamesFile
logger = logging.getLogger("SecretBot") logger = logging.getLogger("SecretBot")
@ -90,21 +89,21 @@ class SecretBot(commands.Cog):
await ctx.reply(":ping_pong:", mention_author = True) await ctx.reply(":ping_pong:", mention_author = True)
@commands.command("StartGame") @commands.command("StartGame")
async def start_game(self, ctx: commands.Context, dm_role: discord.Role, player_role: discord.Role): async def start_game(self, ctx: commands.Context, gm_role: discord.Role, player_role: discord.Role):
game = self.games_file[ctx.guild] game = self.games_file[ctx.guild]
if game.is_started(): if game.is_started():
await ctx.reply(":x: a game is already running") await ctx.reply(":x: a game is already running")
else: else:
await ctx.guild.get_member(self.bot.user.id).add_roles(dm_role) await ctx.guild.get_member(self.bot.user.id).add_roles(gm_role)
await game.start(ctx.guild, dm_role, player_role) await game.start(ctx.guild, gm_role, player_role)
@commands.command("DeleteGame", help = "Delete a running game and all of its associated channels") @commands.command("DeleteGame", help = "Delete a running game and all of its associated channels")
async def delete_game(self, ctx: commands.Context): async def delete_game(self, ctx: commands.Context):
game = self.games_file[ctx.guild] game = self.games_file[ctx.guild]
if game.is_started(): if game.is_started():
dm_role = discord.Object(game.get_dm_role()) # We need to get the role before the game is deleted gm_role = discord.Object(game.get_gm_role()) # We need to get the role before the game is deleted
await game.delete(ctx.guild) await game.delete(ctx.guild)
await ctx.guild.get_member(self.bot.user.id).remove_roles(dm_role) await ctx.guild.get_member(self.bot.user.id).remove_roles(gm_role)
else: else:
await ctx.reply(":x: Game is not running") await ctx.reply(":x: Game is not running")