Fixed several small bugs in the discord commands
parent
796baaf3a6
commit
4b51951b65
38
Commands.py
38
Commands.py
|
@ -192,7 +192,17 @@ class Commands:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
||||||
location = self.interface.find_location_by_name_and_owner(session, player, loc_name)[0]
|
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
|
location.x = x
|
||||||
location.z = z
|
location.z = z
|
||||||
|
@ -247,7 +257,17 @@ class Commands:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
||||||
location = self.interface.find_location_by_name_and_owner(session, player, loc_name)[0]
|
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
|
location.name = new_name
|
||||||
loc_str = location.__str__()
|
loc_str = location.__str__()
|
||||||
|
@ -271,7 +291,19 @@ class Commands:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
player = self.get_player(session, discord_uuid=discord_uuid, mc_uuid=mc_uuid)
|
||||||
shop = self.interface.find_shop_by_name_and_owner(session, player, shop_name)[0]
|
|
||||||
|
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)
|
expr = (ItemListing.name == item) & (ItemListing.shop == shop)
|
||||||
self.interface.database.delete_entry(session, ItemListing, expr)
|
self.interface.database.delete_entry(session, ItemListing, expr)
|
||||||
|
|
24
Geoffrey.py
24
Geoffrey.py
|
@ -138,7 +138,7 @@ async def add_shop(ctx, x_pos: int, z_pos: int, *args):
|
||||||
@bot.command(pass_context=True)
|
@bot.command(pass_context=True)
|
||||||
async def add_tunnel(ctx, tunnel_color: str, tunnel_number: int, *args):
|
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]
|
?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))
|
await bot.say('{}, **{}** owns the following tunnels: \n{}'.format(ctx.message.author.mention, player, result))
|
||||||
except LocationLookUpError:
|
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))
|
.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 len(args) > 0:
|
||||||
if args[0] == '-d':
|
if args[0] == '-d':
|
||||||
dimension = args[1]
|
dimension = args[1]
|
||||||
|
if len(args) > 1:
|
||||||
|
radius = int(args[2])
|
||||||
else:
|
else:
|
||||||
radius = int(args[0])
|
radius = int(args[0])
|
||||||
|
|
||||||
|
@ -250,6 +252,9 @@ async def find_around(ctx, x_pos: int, z_pos: int, * args):
|
||||||
else:
|
else:
|
||||||
await bot.say('{}, there are no locations within {} blocks of that point'
|
await bot.say('{}, there are no locations within {} blocks of that point'
|
||||||
.format(ctx.message.author.mention, radius))
|
.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:
|
except InvalidDimError:
|
||||||
await bot.say('{}, {} is an invalid dimension.'.format(ctx.message.author.mention, dimension))
|
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)
|
info_str = bot_commands.info(loc)
|
||||||
await bot.say(info_str)
|
await bot.say(info_str)
|
||||||
except IndexError:
|
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
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -389,9 +394,18 @@ async def delete_item(ctx, item: str, * args):
|
||||||
await bot.say('{}, **{}** has been removed from the inventory of **{}**.'.
|
await bot.say('{}, **{}** has been removed from the inventory of **{}**.'.
|
||||||
format(ctx.message.author.mention, item, shop))
|
format(ctx.message.author.mention, item, shop))
|
||||||
except LocationLookUpError:
|
except LocationLookUpError:
|
||||||
await bot.say('{}, you do not have a shop called **{}**.'.format(ctx.message.author.mention, shop))
|
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:
|
except DeleteEntryError:
|
||||||
await bot.say('{}, **{}** does not sell **{}**.'.format(ctx.message.author.mention, shop, item))
|
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 ************************************************************
|
# Helper Functions ************************************************************
|
||||||
|
|
||||||
|
|
|
@ -53,10 +53,6 @@ class TestCommands(TestCase):
|
||||||
self.commands.register('ZeroHD', '143072699567177728')
|
self.commands.register('ZeroHD', '143072699567177728')
|
||||||
self.commands.add_shop(0, 0, shop_name='test shop', discord_uuid='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')
|
tunnel2 = self.commands.add_tunnel('Green', 50, location_name='test_shop', discord_uuid='143072699567177728')
|
||||||
|
|
||||||
if 'Green' not in tunnel2:
|
if 'Green' not in tunnel2:
|
||||||
|
@ -181,6 +177,18 @@ class TestCommands(TestCase):
|
||||||
else:
|
else:
|
||||||
self.fail()
|
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):
|
def test_edit_tunnel(self):
|
||||||
self.commands.register('ZeroHD', '143072699567177728')
|
self.commands.register('ZeroHD', '143072699567177728')
|
||||||
self.commands.add_shop(0, 0, shop_name='test shop', discord_uuid='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('dirt', 5, 5, shop_name='test shop', discord_uuid='143072699567177728')
|
||||||
self.commands.add_item('wood', 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):
|
if ('dirt' not in result) & ('wood' in result):
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.fail()
|
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