findbase lists all bases of a player
parent
9c01ae94de
commit
38aaa80fe5
30
MCInfoBot.py
30
MCInfoBot.py
|
@ -11,13 +11,18 @@ SQL_Base = declarative_base()
|
||||||
TOKEN = ''
|
TOKEN = ''
|
||||||
command_prefix = '?'
|
command_prefix = '?'
|
||||||
description = '''Geoffrey is an inside joke none of you will understand, at
|
description = '''Geoffrey is an inside joke none of you will understand, at
|
||||||
least he knows where your bases are.'''
|
least he knows where your bases are.
|
||||||
|
|
||||||
|
Please respect Geoffrey, the bot is very sensitive.
|
||||||
|
'''
|
||||||
|
|
||||||
bot = commands.Bot(command_prefix=command_prefix , description=description)
|
bot = commands.Bot(command_prefix=command_prefix , description=description)
|
||||||
|
|
||||||
class Player(SQL_Base):
|
class Player(SQL_Base):
|
||||||
__tablename__ = 'Players'
|
__tablename__ = 'Players'
|
||||||
in_game_name = Column(String, primary_key=True)
|
|
||||||
|
id = Column(Integer, primary_key=True)
|
||||||
|
in_game_name = Column(String)
|
||||||
|
|
||||||
def __init__(self,name) :
|
def __init__(self,name) :
|
||||||
self.in_game_name = name
|
self.in_game_name = name
|
||||||
|
@ -25,7 +30,8 @@ class Player(SQL_Base):
|
||||||
|
|
||||||
class Location(SQL_Base):
|
class Location(SQL_Base):
|
||||||
__tablename__ = 'Locations'
|
__tablename__ = 'Locations'
|
||||||
name = Column(String, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
name = Column(String)
|
||||||
x = Column(Integer)
|
x = Column(Integer)
|
||||||
y = Column(Integer)
|
y = Column(Integer)
|
||||||
z = Column(Integer)
|
z = Column(Integer)
|
||||||
|
@ -64,7 +70,9 @@ async def test():
|
||||||
|
|
||||||
@bot.command(pass_context=True)
|
@bot.command(pass_context=True)
|
||||||
async def addbase(ctx, * args):
|
async def addbase(ctx, * args):
|
||||||
'''Add your base to the database.'''
|
'''Add your base to the database.
|
||||||
|
?addbase [Base Name] [X Coordinate] [Y Coordinate] [Z Coordinate]
|
||||||
|
'''
|
||||||
if (len(args) == 4) :
|
if (len(args) == 4) :
|
||||||
try:
|
try:
|
||||||
owner = Player(str(ctx.message.author.nick))
|
owner = Player(str(ctx.message.author.nick))
|
||||||
|
@ -72,6 +80,7 @@ async def addbase(ctx, * args):
|
||||||
|
|
||||||
session.add(owner)
|
session.add(owner)
|
||||||
session.add(base)
|
session.add(base)
|
||||||
|
|
||||||
await bot.say('{}, your base named {} located at {} has been added'
|
await bot.say('{}, your base named {} located at {} has been added'
|
||||||
' to the database.'.format(ctx.message.author.mention, base.name, base.posToStr()))
|
' to the database.'.format(ctx.message.author.mention, base.name, base.posToStr()))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
|
@ -83,12 +92,17 @@ async def addbase(ctx, * args):
|
||||||
|
|
||||||
@bot.command(pass_context=True)
|
@bot.command(pass_context=True)
|
||||||
async def findbase(ctx, * args):
|
async def findbase(ctx, * args):
|
||||||
'''Allows you to find a base in the database.'''
|
'''Allows you to find a base in the database.
|
||||||
|
?findbase [Player name]
|
||||||
|
'''
|
||||||
if (len(args) > 0) :
|
if (len(args) > 0) :
|
||||||
|
|
||||||
base = session.query(Location).filter_by(owner=args[0]).first()
|
baseList = session.query(Location).filter_by(owner=args[0]).all()
|
||||||
if (base is not None) :
|
|
||||||
await bot.say('{}, {}\'s base named {} is located at {}.'.format(ctx.message.author.mention, base.owner ,base.name, base.posToStr()))
|
if (baseList is not None) :
|
||||||
|
await bot.say('{}, {} has {} base(s):'.format(ctx.message.author.mention,args[0], len(baseList)))
|
||||||
|
for base in baseList:
|
||||||
|
await bot.say('{} is located at {}'.format(base.name, base.posToStr()))
|
||||||
else :
|
else :
|
||||||
await bot.say('{}, {} is not in the database'.format(ctx.message.author.mention, args[0]))
|
await bot.say('{}, {} is not in the database'.format(ctx.message.author.mention, args[0]))
|
||||||
else :
|
else :
|
||||||
|
|
Loading…
Reference in New Issue