Added add_owner command and made help messages more consistent

master
Joey Hines 2019-02-02 10:12:58 -06:00
parent 0593318df5
commit cb4a173508
1 changed files with 68 additions and 26 deletions

View File

@ -44,8 +44,9 @@ class GeoffreyCommands:
@commands.command(pass_context=True)
async def add_base(self, ctx, x_pos: int, z_pos: int, *args):
'''
{}add_base <x_pos> <z_pos> <Name>
The name parameter is optional.
{}add_base <X Coordinate> <Z Coordinate> <Name>
The Name parameter is optional if this is your first base
'''
name = get_name(args)
@ -70,16 +71,20 @@ class GeoffreyCommands:
@commands.command(pass_context=True)
async def add_item(self, ctx, item_name, quantity: int, diamond_price: int, *args):
'''
{}add_item <item name> <quantity> <diamond price> <Shop Name>
The name parameter is optional.
{}add_item <Item Name> <Quantity> <Diamond Price> <Shop Name>
If item name contains spaces, it must be wrapped in quotes. eg "Diamond Pickaxe"
The Shop Name parameter is optional if this is your first shop
'''
shop_name = get_name(args)
try:
item = run_command(self.base_url, self.api_token, "POST", "add_item", item_name=item_name, quantity=quantity,
item = run_command(self.base_url, self.api_token, "POST", "add_item", item_name=item_name,
quantity=quantity,
diamond_price=diamond_price, shop_name=shop_name, discord_uuid=ctx.message.author.id)
await ctx.send('{}, {} has been added to the inventory of {}'.format(ctx.message.author.mention,
item["item_name"], item["shop"]["name"]))
item["item_name"],
item["shop"]["name"]))
except Exception as e:
error_list = [
{"error": "LocationLookUpError",
@ -93,11 +98,45 @@ class GeoffreyCommands:
msg = check_error(e, error_list)
await ctx.send(msg)
@commands.command(pass_context=True)
async def add_owner(self, ctx, new_owner_name, location_name):
'''
{}add_owner <New Owner's Name> <Location Name>
WARNING: The new owner had just as much power as you to edit or delete this location.
'''
try:
location = run_command(self.base_url, self.api_token, "POST", "add_owner", new_owner_name=new_owner_name,
location_name=location_name, discord_uuid=ctx.message.author.id)
await ctx.send('{}, **{}** has been added as an owner to **{}**'.format(
ctx.message.author.mention, new_owner_name, location["name"]))
except Exception as e:
error_list = [
{"error": "PlayerNotFound",
"message": "{}, ain't no one in this darn database named {} you goob".format(
ctx.message.author.mention, new_owner_name)
},
{"error": "PlayerInDBError",
"message": "{}, **{}** is already an owner, stop having amosia.".format(
ctx.message.author.mention, new_owner_name)
},
{"error": "LocationLookUpError",
"message": "{}, you do not have a location by the name you ding dong goober.".format(
ctx.message.author)
}
]
msg = check_error(e, error_list)
await ctx.send(msg)
@commands.command(pass_context=True)
async def add_shop(self, ctx, x_pos: int, z_pos: int, *args):
'''
{}add_shop <x_pos> <z_pos> <Name>
The name parameter is optional.
{}add_shop <X Coordinate> <Z Coordinate> <Shop Name>
The Shop Name parameter is optional if this is your first shop
'''
name = get_name(args)
@ -123,8 +162,8 @@ class GeoffreyCommands:
@commands.command(pass_context=True)
async def add_tunnel(self, ctx, tunnel_direction, tunnel_number: int, *args):
'''
{}add_tunnel <tunnel_direction> <tunnel_number> <Location Name>
The name parameter is optional.
{}add_tunnel <Tunnel Direction> <Tunnel Number> <Location Name>
The Name parameter is optional if you only have one location
'''
name = get_name(args)
@ -176,8 +215,8 @@ class GeoffreyCommands:
@commands.command(pass_context=True)
async def delete_item(self, ctx, item_name: str, *args):
'''
{}delete_item <Item Name> <Location Name>
The name parameter is optional.
{}delete_item <Item Name> <Shop Name>
The Shop Name parameter is optional if you only have one location.
'''
shop_name = get_name(args)
@ -232,7 +271,7 @@ class GeoffreyCommands:
@commands.command(pass_conext=True)
async def edit_pos(self, ctx, new_x: int, new_z: int, *args):
'''
{}edit_post <New X Coord> <New Z Coord> <Location Name>
{}edit_post <New X Coordinate> <New Z Coordinate> <Location Name>
'''
loc_name = get_name(args)
@ -284,7 +323,8 @@ class GeoffreyCommands:
@commands.command(pass_context=True)
async def find_around(self, ctx, x_pos, z_pos, *args):
'''
{}find_around <X Position> <Z Position> <radius>
{}find_around <X Coordinate> <Z Coordinate> <Radius>
The Radius parameter is optional and defaults to 200 blocks
'''
try:
@ -424,7 +464,8 @@ class GeoffreyCommands:
@commands.command(pass_context=True)
async def selling(self, ctx, *args):
'''
{}selling <item name>
{}selling <Item Name>
Sorts by most recently added
'''
item = get_name(args)
@ -452,7 +493,7 @@ class GeoffreyCommands:
async def restock(self, ctx, item_name, *args):
'''
{}restock <Item name> <Shop Name>
The shop name is optional
The Shop Name is optional if you only have one shop.
'''
shop_name = get_name(args)
@ -505,5 +546,6 @@ class GeoffreyCommands:
msg = check_error(e, error_list)
await ctx.send(msg)
def setup(bot):
bot.add_cog(GeoffreyCommands(bot))