forked from viveksantayana/geas-bot
Debug Pitch Menu
This commit is contained in:
parent
1826b9d72b
commit
173aeb2a3c
@ -119,7 +119,7 @@ class Configuration(commands.Cog, name='Configuration Commands'):
|
|||||||
if self.client.get_cog('Player Commands') is None:
|
if self.client.get_cog('Player Commands') is None:
|
||||||
loadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
loadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
||||||
flag = True
|
flag = True
|
||||||
if self.client.get_cog('Pitch') is None:
|
if self.client.get_cog('Pitch Command') is None:
|
||||||
loadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
loadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
||||||
flag = True
|
flag = True
|
||||||
if flag: await self.client.slash.sync_all_commands()
|
if flag: await self.client.slash.sync_all_commands()
|
||||||
@ -297,7 +297,7 @@ class Configuration(commands.Cog, name='Configuration Commands'):
|
|||||||
if self.client.get_cog('Player Commands') is None:
|
if self.client.get_cog('Player Commands') is None:
|
||||||
loadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
loadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
||||||
Flag = True
|
Flag = True
|
||||||
if self.client.get_cog('Pitch') is None:
|
if self.client.get_cog('Pitch Command') is None:
|
||||||
loadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
loadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
||||||
Flag = True
|
Flag = True
|
||||||
if flag: await self.client.slash.sync_all_commands()
|
if flag: await self.client.slash.sync_all_commands()
|
||||||
|
@ -290,7 +290,7 @@ class GameCreate(commands.Cog, name='Game Create'):
|
|||||||
if self.client.get_cog('Player Commands') is None:
|
if self.client.get_cog('Player Commands') is None:
|
||||||
loadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
loadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
||||||
flag = True
|
flag = True
|
||||||
if self.client.get_cog('Pitch') is None:
|
if self.client.get_cog('Pitch Command') is None:
|
||||||
loadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
loadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
||||||
flag = True
|
flag = True
|
||||||
if flag: await self.client.slash.sync_all_commands()
|
if flag: await self.client.slash.sync_all_commands()
|
||||||
|
@ -17,10 +17,7 @@ class GameManagement(commands.Cog, name='Game Management'):
|
|||||||
def __init__(self, client):
|
def __init__(self, client):
|
||||||
self.client = client
|
self.client = client
|
||||||
|
|
||||||
conf = yaml_load(configFile)
|
|
||||||
lookup = yaml_load(lookupFile)
|
lookup = yaml_load(lookupFile)
|
||||||
data = yaml_load(dataFile)
|
|
||||||
|
|
||||||
guild_ids= [ int(x) for x in list(lookup)]
|
guild_ids= [ int(x) for x in list(lookup)]
|
||||||
|
|
||||||
### Move delete, Modify, and Reset commands to a separate secondary cog to enable when games exist?
|
### Move delete, Modify, and Reset commands to a separate secondary cog to enable when games exist?
|
||||||
@ -100,7 +97,7 @@ class GameManagement(commands.Cog, name='Game Management'):
|
|||||||
if not any([x for x in yaml_load(lookupFile).values()]):
|
if not any([x for x in yaml_load(lookupFile).values()]):
|
||||||
unloadCog(f'./{cogsDir}/slashcommands/secondary/game_management.py')
|
unloadCog(f'./{cogsDir}/slashcommands/secondary/game_management.py')
|
||||||
if self.client.get_cog('Player Commands') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
if self.client.get_cog('Player Commands') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
||||||
if self.client.get_cog('Pitch') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
if self.client.get_cog('Pitch Command') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
||||||
await self.client.slash.sync_all_commands()
|
await self.client.slash.sync_all_commands()
|
||||||
|
|
||||||
@cog_ext.cog_subcommand(
|
@cog_ext.cog_subcommand(
|
||||||
@ -556,7 +553,7 @@ class GameManagement(commands.Cog, name='Game Management'):
|
|||||||
if not any([x for x in yaml_load(lookupFile).values()]):
|
if not any([x for x in yaml_load(lookupFile).values()]):
|
||||||
unloadCog(f'./{cogsDir}/slashcommands/secondary/game_management.py')
|
unloadCog(f'./{cogsDir}/slashcommands/secondary/game_management.py')
|
||||||
if self.client.get_cog('Player Commands') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
if self.client.get_cog('Player Commands') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
||||||
if self.client.get_cog('Pitch') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
if self.client.get_cog('Pitch Command') is not None: unloadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
||||||
await self.client.slash.sync_all_commands()
|
await self.client.slash.sync_all_commands()
|
||||||
|
|
||||||
def setup(client):
|
def setup(client):
|
||||||
|
@ -97,7 +97,7 @@ class ManipulateTimeslots(commands.Cog, name='Manipulate Timeslots'):
|
|||||||
unloadCog(f'./{cogsDir}/slashcommands/secondary/game_create.py')
|
unloadCog(f'./{cogsDir}/slashcommands/secondary/game_create.py')
|
||||||
if self.client.get_cog('Player Commands') is not None:
|
if self.client.get_cog('Player Commands') is not None:
|
||||||
unloadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
unloadCog(f'./{cogsDir}/slashcommands/secondary/player_commands.py')
|
||||||
if self.client.get_cog('Pitch') is not None:
|
if self.client.get_cog('Pitch Command') is not None:
|
||||||
unloadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
unloadCog(f'./{cogsDir}/slashcommands/secondary/pitch.py')
|
||||||
await self.client.slash.sync_all_commands()
|
await self.client.slash.sync_all_commands()
|
||||||
else:
|
else:
|
||||||
|
@ -85,6 +85,7 @@ class Pitch(commands.Cog, name='Pitch Command'):
|
|||||||
)
|
)
|
||||||
if guildStr not in pitches: pitches[guildStr] = {}
|
if guildStr not in pitches: pitches[guildStr] = {}
|
||||||
if timeslot not in pitches[guildStr]: pitches[guildStr][timeslot] = {}
|
if timeslot not in pitches[guildStr]: pitches[guildStr][timeslot] = {}
|
||||||
|
pitches[guildStr][timeslot]['indices'] = {}
|
||||||
pitches[guildStr][timeslot]['entries'] = [x for x in data[guildStr][timeslot].values()]
|
pitches[guildStr][timeslot]['entries'] = [x for x in data[guildStr][timeslot].values()]
|
||||||
pitches[guildStr][timeslot]['entries'].sort(key= lambda x: x['game_title'])
|
pitches[guildStr][timeslot]['entries'].sort(key= lambda x: x['game_title'])
|
||||||
header_message = await ctx.channel.send(
|
header_message = await ctx.channel.send(
|
||||||
@ -122,7 +123,9 @@ class Pitch(commands.Cog, name='Pitch Command'):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
pitches[guildStr][timeslot]['messages'].append(m)
|
pitches[guildStr][timeslot]['messages'].append(m)
|
||||||
pitches[guildStr][timeslot]['roles'][index] = discord.utils.find(lambda x: x.id == element['role'],ctx.guild.roles)
|
r = discord.utils.find(lambda x: x.id == element['role'],ctx.guild.roles)
|
||||||
|
pitches[guildStr][timeslot]['roles'][index] = r
|
||||||
|
pitches[guildStr][timeslot]['indices'][r.id] = index
|
||||||
newcomer = returning_player = None
|
newcomer = returning_player = None
|
||||||
if 'newcomer' in conf[guildStr]['roles']: newcomer = discord.utils.find(lambda x: x.id == conf[guildStr]['roles']['newcomer'], ctx.guild.roles)
|
if 'newcomer' in conf[guildStr]['roles']: newcomer = discord.utils.find(lambda x: x.id == conf[guildStr]['roles']['newcomer'], ctx.guild.roles)
|
||||||
if 'returning_player' in conf[guildStr]['roles']: returning_player = discord.utils.find(lambda x: x.id == conf[guildStr]['roles']['returning_player'], ctx.guild.roles)
|
if 'returning_player' in conf[guildStr]['roles']: returning_player = discord.utils.find(lambda x: x.id == conf[guildStr]['roles']['returning_player'], ctx.guild.roles)
|
||||||
@ -191,12 +194,15 @@ class Pitch(commands.Cog, name='Pitch Command'):
|
|||||||
else:
|
else:
|
||||||
index = int(button_ctx.custom_id.split('_',1)[1])
|
index = int(button_ctx.custom_id.split('_',1)[1])
|
||||||
if button_ctx.custom_id.startswith('join_'):
|
if button_ctx.custom_id.startswith('join_'):
|
||||||
if set(button_ctx.author.roles) & set(pitches[guildStr][timeslot]['roles']):
|
if set(button_ctx.author.roles) & set(pitches[guildStr][timeslot]['roles'].values()):
|
||||||
for role in list(set(button_ctx.author.roles) & set(pitches[guildStr][timeslot]['roles'])):
|
print('Check 0')
|
||||||
|
for role in list(set(button_ctx.author.roles) & set(pitches[guildStr][timeslot]['roles'].values())):
|
||||||
if role != pitches[guildStr][timeslot]['roles'][index]:
|
if role != pitches[guildStr][timeslot]['roles'][index]:
|
||||||
|
print('check 1')
|
||||||
await button_ctx.author.remove_roles(role,reason=f'/pitch interaction by {button_ctx.author.display_name}')
|
await button_ctx.author.remove_roles(role,reason=f'/pitch interaction by {button_ctx.author.display_name}')
|
||||||
data[guildStr][timeslot][str(role.id)]['current_players'] -= 1
|
data[guildStr][timeslot][str(role.id)]['current_players'] -= 1
|
||||||
element = pitches[guildStr][timeslot]['entries'][index]
|
i = pitches[guildStr][timeslot]['indices'][role.id]
|
||||||
|
element = pitches[guildStr][timeslot]['entries'][i]
|
||||||
gm = await self.client.fetch_user(element['gm'])
|
gm = await self.client.fetch_user(element['gm'])
|
||||||
o = f'_ _\n***{element["game_title"]}*** (GM: {gm.mention})\n```\n'
|
o = f'_ _\n***{element["game_title"]}*** (GM: {gm.mention})\n```\n'
|
||||||
if element['system'] is not None: o = ''.join([o,f'System: {element["system"]}\n'])
|
if element['system'] is not None: o = ''.join([o,f'System: {element["system"]}\n'])
|
||||||
@ -206,7 +212,7 @@ class Pitch(commands.Cog, name='Pitch Command'):
|
|||||||
o = ''.join([o,f'```'])
|
o = ''.join([o,f'```'])
|
||||||
spaces_remaining = element["max_players"] - element["current_players"]
|
spaces_remaining = element["max_players"] - element["current_players"]
|
||||||
o = ''.join([o,f'~~Spaces Remaining: {str(0)}~~'])if spaces_remaining <= 0 else ''.join([o,f'Spaces Remaining: {str(spaces_remaining)}'])
|
o = ''.join([o,f'~~Spaces Remaining: {str(0)}~~'])if spaces_remaining <= 0 else ''.join([o,f'Spaces Remaining: {str(spaces_remaining)}'])
|
||||||
await pitches[guildStr][timeslot]['messages'][index].edit(content=o)
|
await pitches[guildStr][timeslot]['messages'][i].edit(content=o)
|
||||||
tc = discord.utils.find(lambda x: x.id == lookup[guildStr][str(role.id)]['text_channel'],ctx.guild.text_channels)
|
tc = discord.utils.find(lambda x: x.id == lookup[guildStr][str(role.id)]['text_channel'],ctx.guild.text_channels)
|
||||||
if tc is None:
|
if tc is None:
|
||||||
c = discord.utils.find(lambda x: x.id == lookup[guildStr][str(role.id)]['category'],ctx.guild.categories)
|
c = discord.utils.find(lambda x: x.id == lookup[guildStr][str(role.id)]['category'],ctx.guild.categories)
|
||||||
@ -282,7 +288,7 @@ class Pitch(commands.Cog, name='Pitch Command'):
|
|||||||
for message in pitches[guildStr][timeslot]['messages']: await message.delete()
|
for message in pitches[guildStr][timeslot]['messages']: await message.delete()
|
||||||
await control.delete()
|
await control.delete()
|
||||||
await ctx.channel.edit(reason=f'/pitch command issued by {ctx.author.display_name}', overwrites={})
|
await ctx.channel.edit(reason=f'/pitch command issued by {ctx.author.display_name}', overwrites={})
|
||||||
await button_ctx.send('```Pitch menu cleared. Pitches have now concluded.```')
|
await button_ctx.channel.send('```Pitch menu cleared. Pitches have now concluded.```')
|
||||||
|
|
||||||
def setup(client):
|
def setup(client):
|
||||||
client.add_cog(Pitch(client))
|
client.add_cog(Pitch(client))
|
Loading…
Reference in New Issue
Block a user