Workaround duplicates from get_xkcds

master
Lonami Exo 2019-05-11 20:09:19 +02:00
parent 700593f889
commit f474f3cd59
1 changed files with 8 additions and 2 deletions

10
bot.py
View File

@ -1,5 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import asyncio
from os import environ
from collections import namedtuple
from json import loads
@ -79,11 +80,16 @@ async def inlinequery(event):
"""Handle the inline query."""
# TODO show transcript in result but not message?
builder = event.builder
await event.answer([builder.article(
result = await asyncio.gather(*(builder.article(
title=xkcd.title,
url=xkcd.link,
text=MSG_FMT_STR.format(number=xkcd.number, link=xkcd.link, title=xkcd.title, alt=xkcd.alt)
) for xkcd in get_xkcds(event.text)])
) for xkcd in get_xkcds(event.text)))
# FIXME get_xkcds returns duplicates, which lead to the same result ID
# Build a dict by their ID to remove the duplicates
result = list({r.id: r for r in result}.values())
await event.answer(result)
def main():