Typos and reformat
This commit is contained in:
parent
f395e3561b
commit
aae877693a
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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__)
|
||||||
|
|
|
||||||
13
SecretBot.py
13
SecretBot.py
|
|
@ -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")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue