diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-12-03 13:38:43 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-12-03 14:10:31 +0100 |
| commit | 5ffea4d9865d2a6642ba648d74ffb2e41e8f6e92 (patch) | |
| tree | ab167a30b09ceda42b8f8c97122f367065c4d24a /main.py | |
| parent | a02baab42a7fae8a54a9ae2de2bdc306d50bf9eb (diff) | |
| download | Vainbot-5ffea4d9865d2a6642ba648d74ffb2e41e8f6e92.tar.gz Vainbot-5ffea4d9865d2a6642ba648d74ffb2e41e8f6e92.zip | |
use end time relative to start time
Diffstat (limited to 'main.py')
| -rw-r--r-- | main.py | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -50,11 +50,9 @@ async def get_user(id): return await get_user(id) async def search_teammates(who, query): - now = datetime.datetime.utcnow() cal = parsedatetime.Calendar() - isrange = " for " in query or " until " in query - if isrange: + if " for " in query or " until " in query: delimit = query.rfind("for") if delimit == -1: delimit = query.rfind("until") @@ -65,7 +63,8 @@ async def search_teammates(who, query): startstr = query endstr = "for 30 minutes" - start, end, calnow = [cal.parseDT(d)[0] for d in (startstr, endstr, "now")] + start = cal.parseDT(startstr)[0] + end = cal.parseDT(endstr, sourceTime=start)[0] db.playwithme.insert_one({ "player": who.id, @@ -76,7 +75,7 @@ async def search_teammates(who, query): print(who.name + " requested a game " + ", ".join([str(d) for d in (start, end)])) players = [] - for teammate in db.playwithme.find({"start": {"$lt": start}, "end": {"$gt": start}}): + for teammate in db.playwithme.find({"end": {"$gt": start, "$lt": end}}): mention = (await get_user(teammate["player"]))["mention"] if not mention in players: players += [mention] |
