Fixed several small bugs in the discord commands
parent
796baaf3a6
commit
4b51951b65
32
Commands.py
32
Commands.py
|
@ -192,6 +192,16 @@ class Commands:
|
|||
|
||||
try:
|
||||
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
||||
if loc_name is None:
|
||||
loc_list = self.interface.find_location_by_owner(session, player)
|
||||
|
||||
if len(loc_list) == 0:
|
||||
raise LocationLookUpError
|
||||
elif len(loc_list) > 1:
|
||||
raise EntryNameNotUniqueError
|
||||
else:
|
||||
location = loc_list[0]
|
||||
else:
|
||||
location = self.interface.find_location_by_name_and_owner(session, player, loc_name)[0]
|
||||
|
||||
location.x = x
|
||||
|
@ -247,6 +257,16 @@ class Commands:
|
|||
|
||||
try:
|
||||
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
||||
if loc_name is None:
|
||||
loc_list = self.interface.find_location_by_owner(session, player)
|
||||
|
||||
if len(loc_list) == 0:
|
||||
raise LocationLookUpError
|
||||
elif len(loc_list) > 1:
|
||||
raise EntryNameNotUniqueError
|
||||
else:
|
||||
location = loc_list[0]
|
||||
else:
|
||||
location = self.interface.find_location_by_name_and_owner(session, player, loc_name)[0]
|
||||
|
||||
location.name = new_name
|
||||
|
@ -271,6 +291,18 @@ class Commands:
|
|||
|
||||
try:
|
||||
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
||||
|
||||
if shop_name is None:
|
||||
shop_list = self.interface.find_shop_by_owner(session, player)
|
||||
|
||||
if len(shop_list) == 0:
|
||||
raise LocationLookUpError
|
||||
elif len(shop_list) > 1:
|
||||
raise EntryNameNotUniqueError
|
||||
else:
|
||||
shop = shop_list[0]
|
||||
|
||||
else:
|
||||
shop = self.interface.find_shop_by_name_and_owner(session, player, shop_name)[0]
|
||||
|
||||
expr = (ItemListing.name == item) & (ItemListing.shop == shop)
|
||||
|
|
20
Geoffrey.py
20
Geoffrey.py
|
@ -138,7 +138,7 @@ async def add_shop(ctx, x_pos: int, z_pos: int, *args):
|
|||
@bot.command(pass_context=True)
|
||||
async def add_tunnel(ctx, tunnel_color: str, tunnel_number: int, *args):
|
||||
'''
|
||||
Adds your tunnel to the database.
|
||||
Adds your tunnel to the database. If you only have one location, you do not need to specify a location name.
|
||||
?tunnel [Tunnel Color] [Tunnel Number] [Location Name]
|
||||
'''
|
||||
|
||||
|
@ -192,7 +192,7 @@ async def tunnel(ctx, player: str):
|
|||
|
||||
await bot.say('{}, **{}** owns the following tunnels: \n{}'.format(ctx.message.author.mention, player, result))
|
||||
except LocationLookUpError:
|
||||
await bot.say('{}, no tunnels for the player **{}** were found in the database/'
|
||||
await bot.say('{}, no tunnels for **{}** were found in the database.'
|
||||
.format(ctx.message.author.mention, player))
|
||||
|
||||
|
||||
|
@ -235,6 +235,8 @@ async def find_around(ctx, x_pos: int, z_pos: int, * args):
|
|||
if len(args) > 0:
|
||||
if args[0] == '-d':
|
||||
dimension = args[1]
|
||||
if len(args) > 1:
|
||||
radius = int(args[2])
|
||||
else:
|
||||
radius = int(args[0])
|
||||
|
||||
|
@ -250,6 +252,9 @@ async def find_around(ctx, x_pos: int, z_pos: int, * args):
|
|||
else:
|
||||
await bot.say('{}, there are no locations within {} blocks of that point'
|
||||
.format(ctx.message.author.mention, radius))
|
||||
except ValueError:
|
||||
await bot.say('{}, invalid radius, the radius must be a whole number.'.format(ctx.message.author.mention,
|
||||
radius))
|
||||
except InvalidDimError:
|
||||
await bot.say('{}, {} is an invalid dimension.'.format(ctx.message.author.mention, dimension))
|
||||
|
||||
|
@ -313,7 +318,7 @@ async def info(ctx, * args):
|
|||
info_str = bot_commands.info(loc)
|
||||
await bot.say(info_str)
|
||||
except IndexError:
|
||||
await bot.say('{}, no locations in the database match {}.'.format(ctx.message.author.mention, loc))
|
||||
await bot.say('{}, no locations in the database match **{}**.'.format(ctx.message.author.mention, loc))
|
||||
return
|
||||
|
||||
|
||||
|
@ -389,9 +394,18 @@ async def delete_item(ctx, item: str, * args):
|
|||
await bot.say('{}, **{}** has been removed from the inventory of **{}**.'.
|
||||
format(ctx.message.author.mention, item, shop))
|
||||
except LocationLookUpError:
|
||||
if shop is None:
|
||||
await bot.say('{}, you do have any shops in the database.'.format(ctx.message.author.mention))
|
||||
else:
|
||||
await bot.say('{}, you do not have a shop called **{}**.'.format(ctx.message.author.mention, shop))
|
||||
except EntryNameNotUniqueError:
|
||||
await bot.say('{}, you have more than one shop in the database, please specify a shop name.'
|
||||
.format(ctx.message.author.mention))
|
||||
except DeleteEntryError:
|
||||
if shop is not None:
|
||||
await bot.say('{}, **{}** does not sell **{}**.'.format(ctx.message.author.mention, shop, item))
|
||||
else:
|
||||
await bot.say('{}, your shop does not sell **{}**.'.format(ctx.message.author.mention, item))
|
||||
|
||||
# Helper Functions ************************************************************
|
||||
|
||||
|
|
|
@ -53,10 +53,6 @@ class TestCommands(TestCase):
|
|||
self.commands.register('ZeroHD', '143072699567177728')
|
||||
self.commands.add_shop(0, 0, shop_name='test shop', discord_uuid='143072699567177728')
|
||||
|
||||
tunnel1 = self.commands.add_tunnel('green', 50, None, discord_uuid='143072699567177728')
|
||||
|
||||
self.assertGreater(len(tunnel1), 0)
|
||||
|
||||
tunnel2 = self.commands.add_tunnel('Green', 50, location_name='test_shop', discord_uuid='143072699567177728')
|
||||
|
||||
if 'Green' not in tunnel2:
|
||||
|
@ -181,6 +177,18 @@ class TestCommands(TestCase):
|
|||
else:
|
||||
self.fail()
|
||||
|
||||
self.commands.edit_pos(500, 500, None, discord_uuid='143072699567177728')
|
||||
|
||||
if '500' in result:
|
||||
pass
|
||||
else:
|
||||
self.fail()
|
||||
|
||||
self.commands.delete(name='test shop', discord_uuid='143072699567177728')
|
||||
|
||||
self.assertRaises(LocationLookUpError, self.commands.edit_pos, 5, 5, None,
|
||||
discord_uuid='143072699567177728')
|
||||
|
||||
def test_edit_tunnel(self):
|
||||
self.commands.register('ZeroHD', '143072699567177728')
|
||||
self.commands.add_shop(0, 0, shop_name='test shop', discord_uuid='143072699567177728')
|
||||
|
@ -201,11 +209,21 @@ class TestCommands(TestCase):
|
|||
self.commands.add_item('dirt', 5, 5, shop_name='test shop', discord_uuid='143072699567177728')
|
||||
self.commands.add_item('wood', 5, 5, shop_name='test shop', discord_uuid='143072699567177728')
|
||||
|
||||
result = self.commands.delete_item('dirt', 'test_shop', discord_uuid='143072699567177728')
|
||||
result = self.commands.delete_item('dirt', None, discord_uuid='143072699567177728')
|
||||
|
||||
if ('dirt' not in result) & ('wood' in result):
|
||||
pass
|
||||
else:
|
||||
self.fail()
|
||||
|
||||
self.commands.add_shop(0, 0, shop_name='test shop2', discord_uuid='143072699567177728')
|
||||
self.assertRaises(EntryNameNotUniqueError, self.commands.delete_item, 'wood', None,
|
||||
discord_uuid='143072699567177728')
|
||||
|
||||
self.commands.delete('test shop', discord_uuid='143072699567177728')
|
||||
self.commands.delete('test shop2', discord_uuid='143072699567177728')
|
||||
|
||||
self.assertRaises(LocationLookUpError, self.commands.delete_item, 'wood', None,
|
||||
discord_uuid='143072699567177728')
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue