def de_json(data):
        data = super(InputMessageContent, InputMessageContent).de_json(data)

        if not data:
            return None

        try:
            from telegram import InputTextMessageContent
            return InputTextMessageContent.de_json(data)
        except TypeError:
            pass

        try:
            from telegram import InputLocationMessageContent
            return InputLocationMessageContent.de_json(data)
        except TypeError:
            pass

        try:
            from telegram import InputVenueMessageContent
            return InputVenueMessageContent.de_json(data)
        except TypeError:
            pass

        try:
            from telegram import InputContactMessageContent
            return InputContactMessageContent.de_json(data)
        except TypeError:
            pass

        return None
Example #2
0
def inline_caps(bot, update):
    query = update.inline_query.query
    if not query:
        return
    results = list()
    results.append(
        InlineQueryResultArticle(
            id=query.upper(),
            title='Caps',
            input_message_content=InputTextMessageContent(query.upper())
        )
    )
    bot.answer_inline_query(update.inline_query.id, results)
def all_bot_results_article(lst, too_many_results):
    txt = messages.PROMOTION_MESSAGE + '\n\n'
    txt += "{} one of these {} bots:\n\n".format(
        messages.rand_call_to_action(), len(lst))
    txt += '\n'.join([str(b) for b in lst])
    return InlineQueryResultArticle(
        id=uuid4(),
        title='{} {} ʙᴏᴛ ʀᴇsᴜʟᴛs'.format(mdformat.smallcaps("Send"), len(lst)),
        input_message_content=InputTextMessageContent(
            message_text=txt[:4096], parse_mode=ParseMode.MARKDOWN)
        # description=b.description if b.description else b.name if b.name else None,
        # thumb_url='http://www.colorcombos.com/images/colors/FF0000.png'
    )
Example #4
0
def inlinequery(bot, update):
    query = update.inline_query.query
    results = list()

    results.append(InlineQueryResultArticle(id=uuid4(),
                                            title="Caps",
                                            input_message_content=InputTextMessageContent(
                                                query.upper())))

    results.append(InlineQueryResultArticle(id=uuid4(),
                                            title="Bold",
                                            input_message_content=InputTextMessageContent(
                                                "*%s*" % escape_markdown(query),
                                                parse_mode=ParseMode.MARKDOWN)))

    results.append(InlineQueryResultArticle(id=uuid4(),
                                            title="Italic",
                                            input_message_content=InputTextMessageContent(
                                                "_%s_" % escape_markdown(query),
                                                parse_mode=ParseMode.MARKDOWN)))

    update.inline_query.answer(results)
Example #5
0
def inline_get_info(bot, update):
    query = update.inline_query.query
    if not query:
        return
    results = list()
    results.append(
        InlineQueryResultArticle(
            id=query.upper(),
            title='Check phone',
            input_message_content=InputTextMessageContent(get_phone_info(query), parse_mode="Markdown")
        )
    )
    bot.answer_inline_query(update.inline_query.id, results)
Example #6
0
def handleInlineQuery(bot, update, user_data):
    inlineQuery = update.inline_query
    user = inlineQuery.from_user
    logger.info(inlineQuery)
    logger.info(user)
    surtext, sid = inlineQuery.query.split("-")
    s = getSurveyById(sid)

    if (s is None):
        logger.info("No survey found")
    else:
        if (s[1] == user.id):
            resultList = []
            msgText = surveyText(s)
            msgText += '\n\nOptions:'
            so = getSurveyOptions(s)
            button_list = []
            if (s[4] == 1):
                cols = 3
            else:
                cols = 2

            for opt in so:
                msgText += '''\n*%s*: %s yes, ''' % (opt.getText(),
                                                     opt.getYes())
                if (s[4] == 1):
                    msgText += '''%s maybe, ''' % opt.getMaybe()
                msgText += '''%s no\n''' % opt.no
                button_list.append(
                    InlineKeyboardButton("YES (%s)" % opt.getYes(),
                                         callback_data=('%s-%s-yes' %
                                                        (s[0], opt.id))))
                if (s[4] == 1):
                    button_list.append(
                        InlineKeyboardButton("MAYBE (%s)" % opt.getMaybe(),
                                             callback_data=('%s-%s-maybe' %
                                                            (s[0], opt.id))))
                button_list.append(
                    InlineKeyboardButton("NO (%s)" % opt.getNo(),
                                         callback_data=('%s-%s-no' %
                                                        (s[0], opt.id))))
            resultList.append(
                InlineQueryResultArticle("survey-%s" % (sid, ),
                                         s[2],
                                         InputTextMessageContent(
                                             msgText,
                                             parse_mode=ParseMode.MARKDOWN),
                                         reply_markup=InlineKeyboardMarkup(
                                             build_menu(button_list,
                                                        n_cols=cols))))
            inlineQuery.answer(resultList)
def inlinequery(update, context):
    """Handle the inline query."""
    query = update.inline_query.query.lower()

    if len(query) < 3:
        return

    books = {'14-15': '📒', '15-16': '📕', '16-17': '📗', '17-18': '📘', '18-19': '📙', '19-20': '📓', '20-21': '📔'}
    results = []
    with open('kaiku.json', 'r') as file:
        accounts = json.load(file)

    for item in [x for x in accounts if query in x["name"].lower()]:
        codes = item["instances"][0]["code"]
        years = f"\nYears {item['instances'][0]['year']}"
        message = f"*{(item['name'])}*\n"
        summary = f"Period(s) {(item['period'])}\n\n"
        # add and hide a direct image link
        summary += "[\u200c](https://course-o-meter-images.netlify.com/img/" + item["id"] + ".jpg)"
        for thing in item["instances"]:
            summary += f"*{books[thing['year']]} {thing['year']}*\n"
            if thing['code'] not in codes:
                codes += f", {thing['code']}"
            if thing['year'] not in years:
                years += f", {thing['year']}"
            if "letter" in thing.keys():
                summary += f"🏆: *{thing['letter']}* ({str(thing['grade'])})\n"
            else:
                summary += f"🏆: ({str(thing['grade'])})\n"
            summary += f"⏱: {'+' if thing['work'] > 0 else '' }{str(thing['work'])}%\n"
            summary += f"🗂: {str(thing['sampleSize'])} samples\n\n"
        summary += f"🌍: [View on Course-O-Meter](https://course-o-meter-dev.netlify.com/courses/{item['id']})"
        if "link" in item.keys():
            summary += f"\n🏛: [View on POP](https://poprock.tut.fi/group/pop/opas/opintojaksot/-/opintojakso/2019-2020/{item['link']})"
        message += f"{codes}\n{summary}"

        description = codes + years

        results.append(InlineQueryResultArticle(
            id=uuid4(),
            title=item["name"] + ", period " + item["period"],
            description=description,
            thumb_url="https://course-o-meter-images.netlify.com/thumbnails/" + item["id"] + ".jpg",
            thumb_height=64,
            thumb_width=64,
            input_message_content=InputTextMessageContent(
                message,
                parse_mode=ParseMode.MARKDOWN
            )))

    update.inline_query.answer(results)
Example #8
0
def inline(bot, update):
    # Sólo procesaremos el inline cuando haya algún texto introducido
    query = update.inline_query.query

    if not query:
        return

    texto_inline = query
    resultados = list()

    # Texto que se enviará y se mostrará al usuario
    alternativa1_texto = 'Hola desde el bot de Bytelix, ' + texto_inline
    alternativa2_texto = 'Bienvenido, ' + texto_inline
    alternativa3_texto = '¿Conoces Bytelix, ' + texto_inline + '?'

    # Resultados que se mostrarán para elegir
    alternativa1 = InlineQueryResultArticle(
        id=hex(getrandbits(64))[2:],
        title=alternativa1_texto,
        input_message_content=InputTextMessageContent(alternativa1_texto))

    alternativa2 = InlineQueryResultArticle(
        id=hex(getrandbits(64))[2:],
        title=alternativa2_texto,
        input_message_content=InputTextMessageContent(alternativa2_texto))

    alternativa3 = InlineQueryResultArticle(
        id=hex(getrandbits(64))[2:],
        title=alternativa3_texto,
        input_message_content=InputTextMessageContent(alternativa3_texto))

    # Añadimos los resultados que hemos creado a la lista de resultados
    resultados.append(alternativa1)
    resultados.append(alternativa2)
    resultados.append(alternativa3)

    # Y mostramos la lista al usuario
    bot.answerInlineQuery(update.inline_query.id, results=resultados)
Example #9
0
def inline(bot, update):
    query = update.inline_query.query
    results = list()
    if not query:
        for movie in fetch.inTheater():
            results.append(
                InlineQueryResultArticle(
                    id=movie['id'],
                    title=movie['title'],
                    input_message_content=InputTextMessageContent(
                        message_text='[' + movie['title'] + '](' +
                        movie['alt'] + ')',
                        parse_mode='Markdown'),
                    thumb_url=movie['images']['large']))
    else:
        books = fetch.getBook(query)
        movies = fetch.getMovie(query)
        for movie in movies:
            results.append(
                InlineQueryResultArticle(
                    id=movie['id'],
                    title=movie['title'],
                    input_message_content=InputTextMessageContent(
                        message_text='[' + movie['title'] + '](' +
                        movie['alt'] + ')',
                        parse_mode='Markdown'),
                    thumb_url=movie['images']['large']))
        for book in books:
            results.append(
                InlineQueryResultArticle(
                    id=book['id'],
                    title=book['title'],
                    input_message_content=InputTextMessageContent(
                        message_text='[' + book['title'] + '](' + book['alt'] +
                        ')',
                        parse_mode='Markdown'),
                    thumb_url=book['images']['large']))
    bot.answerInlineQuery(update.inline_query.id, results)
Example #10
0
def inline_query(update, context):

    results = [
        InlineQueryResultArticle(
            id=uuid4(),
            title="Mundo",
            thumb_url="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Erioll_world_2.svg/1024px-Erioll_world_2.svg.png",
            thumb_width="32",
            thumb_height="32",
            input_message_content=InputTextMessageContent(total())),
        InlineQueryResultArticle(
            id=uuid4(),
            title="Casos",
            input_message_content=InputTextMessageContent(casos())),
        InlineQueryResultArticle(
            id=uuid4(),
            title="Muertos",
            input_message_content=InputTextMessageContent(muertos())),
        InlineQueryResultArticle(
            id=uuid4(),
            title="Recuperados",
            input_message_content=InputTextMessageContent(recuperados())),
        InlineQueryResultPhoto(
            id=uuid4(),
            title="Mapa de Casos",
            caption="Mapa de Casos",
            description="Mapa de Casos",
            photo_url=url_from_name('mapa.jpg'),
            thumb_url='https://res.cloudinary.com/dlyc7rdxt/image/upload/ar_1:1,b_rgb:262c35,bo_5px_solid_rgb:ff0000,c_fill,g_auto,r_max,t_media_lib_thumb,w_100/v1584293147/coronavirus_w28z7e.jpg'),
        InlineQueryResultPhoto(
            id=uuid4(),
            title="Mapa de Muertes",
            caption="Mapa de Muertes",
            description="Mapa de Muertes",
            photo_url=url_from_name('muertes.jpg'),
            thumb_url='https://res.cloudinary.com/dlyc7rdxt/image/upload/ar_1:1,b_rgb:262c35,bo_5px_solid_rgb:ff0000,c_fill,g_auto,r_max,t_media_lib_thumb,w_100/v1584293147/coronavirus_w28z7e.jpg'),
    ]
    update.inline_query.answer(results)
def inline_caps(bot, update):
    from_user_id = update.inline_query.from_user.id
    # 检查是否为群成员
    try:
        bot.get_chat_member(chat_id=GROUP_ID, user_id=from_user_id)
    except:
        return

    query = update.inline_query.query
    # recent messages
    if not query:
        keyword, page = None, 1

    elif re.match(' *\* +(\d+)', query):
        keyword, page = None, int(re.match('\* +(\d+)', query).group(1))
    # search messages
    else:
        re_match = re.match('(.*) +(\d+)', query)
        if re_match:
            keyword, page = re_match.group(1), int(re_match.group(2))
        else:
            keyword, page = query, 1
    messages, count = search_messages(keyword, page)
    results = [InlineQueryResultArticle(
        id='info',
        title='Total:{}. Page {} of {}'.format(count, page, math.ceil(count / SEARCH_PAGE_SIZE)),
        input_message_content=InputTextMessageContent('/help')
    )]
    for message in messages:
        results.append(
            InlineQueryResultArticle(
                id=message['id'],
                title='{}'.format(message['text'][:100]),
                description=message['date'].strftime("%Y-%m-%d").ljust(40) + message['user'],
                input_message_content=InputTextMessageContent('/locate {}'.format(message['id']))
            )
        )
    bot.answer_inline_query(update.inline_query.id, results)
Example #12
0
    def test_answer_inline_query(self, monkeypatch, bot):
        # For now just test that our internals pass the correct data
        def test(_, url, data, *args, **kwargs):
            return data == {'cache_time': 300,
                            'results': [{'title': 'first', 'id': '11', 'type': 'article',
                                         'input_message_content': {'message_text': 'first'}},
                                        {'title': 'second', 'id': '12', 'type': 'article',
                                         'input_message_content': {'message_text': 'second'}}],
                            'next_offset': '42', 'switch_pm_parameter': 'start_pm',
                            'inline_query_id': 1234, 'is_personal': True,
                            'switch_pm_text': 'switch pm'}

        monkeypatch.setattr('telegram.utils.request.Request.post', test)
        results = [InlineQueryResultArticle('11', 'first', InputTextMessageContent('first')),
                   InlineQueryResultArticle('12', 'second', InputTextMessageContent('second'))]

        assert bot.answer_inline_query(1234,
                                       results=results,
                                       cache_time=300,
                                       is_personal=True,
                                       next_offset='42',
                                       switch_pm_text='switch pm',
                                       switch_pm_parameter='start_pm')
Example #13
0
 def inline_manips(r):
     if not ('<' in query and '>' in query):
         return None
     text = manip_manips(query)
     if text == query:
         return None
     desc = text
     r.append(
         InlineQueryResultArticle(
             id=uuid4(),
             title='Manips',
             description=desc,
             input_message_content=InputTextMessageContent(
                 text, parse_mode=ParseMode.HTML)))
Example #14
0
 def inline_html_noprev(r):
     if not ('<a href' in query and '</a>' in query):
         return None
     text = query
     desc = text
     r.append(
         InlineQueryResultArticle(
             id=uuid4(),
             title='HTML (No Preview)',
             description=desc,
             input_message_content=InputTextMessageContent(
                 text,
                 parse_mode=ParseMode.HTML,
                 disable_web_page_preview=True)))
Example #15
0
    def mostrar_juegos_inline(self, update, context):
        resultados = []
        for juego in self.decalogo_de_juegos.values():
            if juego.es_inline():
                resultados.append((InlineQueryResultArticle(
                    id=uuid4(),
                    title=juego.nombre(),
                    input_message_content=InputTextMessageContent('Vamos a jugar a {}'.format(juego.nombre())),
                    reply_markup=juego.generar_markup(update, context))))
        id_usuario = self.generar_id_usuario(update)
        self.datos_usuarios[str(id_usuario)]['juego_actual'] = 'TaTeTi_MultiPlayer'
        self.data_manager.save_info(self.datos_usuarios)

        update.inline_query.answer(resultados)
def inlinef2p(bot, update):
    query = update.inline_query.query
    if not query:
        return
    results = []
    for first, second in f2p_list(query)[0]:
        results.append(
            InlineQueryResultArticle(
                id = id_generator(),
                title =  first,
                input_message_content = InputTextMessageContent(first)
            )
        )
    bot.answer_inline_query(update.inline_query.id, results)
Example #17
0
class TestInlineQueryResultCachedSticker(object):
    id = 'id'
    type = 'sticker'
    sticker_file_id = 'sticker file id'
    input_message_content = InputTextMessageContent('input_message_content')
    reply_markup = InlineKeyboardMarkup([[InlineKeyboardButton('reply_markup')]])

    def test_expected_values(self, inline_query_result_cached_sticker):
        assert inline_query_result_cached_sticker.type == self.type
        assert inline_query_result_cached_sticker.id == self.id
        assert inline_query_result_cached_sticker.sticker_file_id == self.sticker_file_id
        assert inline_query_result_cached_sticker.input_message_content.to_dict() == \
               self.input_message_content.to_dict()
        assert inline_query_result_cached_sticker.reply_markup.to_dict() == \
               self.reply_markup.to_dict()

    def test_to_dict(self, inline_query_result_cached_sticker):
        inline_query_result_cached_sticker_dict = inline_query_result_cached_sticker.to_dict()

        assert isinstance(inline_query_result_cached_sticker_dict, dict)
        assert inline_query_result_cached_sticker_dict['type'] == \
               inline_query_result_cached_sticker.type
        assert inline_query_result_cached_sticker_dict['id'] == \
               inline_query_result_cached_sticker.id
        assert inline_query_result_cached_sticker_dict['sticker_file_id'] == \
               inline_query_result_cached_sticker.sticker_file_id
        assert inline_query_result_cached_sticker_dict['input_message_content'] == \
               inline_query_result_cached_sticker.input_message_content.to_dict()
        assert inline_query_result_cached_sticker_dict['reply_markup'] == \
               inline_query_result_cached_sticker.reply_markup.to_dict()

    def test_equality(self):
        a = InlineQueryResultCachedSticker(self.id, self.sticker_file_id)
        b = InlineQueryResultCachedSticker(self.id, self.sticker_file_id)
        c = InlineQueryResultCachedSticker(self.id, '')
        d = InlineQueryResultCachedSticker('', self.sticker_file_id)
        e = InlineQueryResultCachedVoice(self.id, '', '')

        assert a == b
        assert hash(a) == hash(b)
        assert a is not b

        assert a == c
        assert hash(a) == hash(c)

        assert a != d
        assert hash(a) != hash(d)

        assert a != e
        assert hash(a) != hash(e)
Example #18
0
def generate_results(meanings, defs_urls):
    results = []
    if meanings <= 0:
        results.append(InlineQueryResultArticle(
            id=0,
            title="DIEC",
            description="Enllaç a la web del DIEC.",
            thumb_url="https://imatges.vilaweb.cat/catalunyanord/wp-content/uploads/2015/09/logo-iec-300x270.jpg",
            input_message_content=InputTextMessageContent('<a href="https://dlc.iec.cat">Accedeix al DIEC</a>', parse_mode='HTML')))
    else:
        cont = 1
        for defi_url in defs_urls:
            output = get_definition(defi_url)
            inici_def = output.find("----")
            results.append(InlineQueryResultArticle(
                id=cont,
                title=output[:inici_def],
                description=output[inici_def+8:],
                thumb_url="https://imatges.vilaweb.cat/catalunyanord/wp-content/uploads/2015/09/logo-iec-300x270.jpg",
                input_message_content=InputTextMessageContent(output, parse_mode=ParseMode.MARKDOWN)))
            cont += cont

    return results
Example #19
0
def inline_trans(update, context):
    query = update.inline_query.query
    if not query:
        return
    results = list()
    results.append(
        InlineQueryResultArticle(
            id=query,
            title="Trans",
            description="EN->RU",
            input_message_content=InputTextMessageContent(
                query.translate(LAYOUT)),
        ))
    context.bot.answer_inline_query(update.inline_query.id, results)
Example #20
0
def inlinequery(update, context):
    """Handle the inline query."""
    query = update.inline_query.query
    results = [
        InlineQueryResultArticle(
            id=uuid4(),
            title="大写",
            input_message_content=InputTextMessageContent(
                query.upper())),
        InlineQueryResultArticle(
            id=uuid4(),
            title="粗体",
            input_message_content=InputTextMessageContent(
                "*{}*".format(escape_markdown(query)),
                parse_mode=ParseMode.MARKDOWN)),
        InlineQueryResultArticle(
            id=uuid4(),
            title="斜体",
            input_message_content=InputTextMessageContent(
                "_{}_".format(escape_markdown(query)),
                parse_mode=ParseMode.MARKDOWN))]

    update.inline_query.answer(results)
def inline(bot, update):
    query = update.inline_query.query
    if not query:
        return
    session_id = update.inline_query.from_user.id
    dialogflow_reply = dialogflow_text_request(query, session_id)
    reply = list()
    reply.append(
        InlineQueryResultArticle(
            id=uuid.uuid4(),
            title=query.capitalize(),
            input_message_content=InputTextMessageContent(dialogflow_reply),
            description=dialogflow_reply))
    bot.answer_inline_query(update.inline_query.id, reply)
Example #22
0
def article(title='',
            description='',
            message_text='',
            key=None,
            reply_markup=None):
    return InlineQueryResultArticle(
        id=key or uuid4(),
        title=title,
        description=description,
        input_message_content=InputTextMessageContent(
            message_text=message_text,
            parse_mode=ParseMode.HTML,
            disable_web_page_preview=True),
        reply_markup=reply_markup)
Example #23
0
def inlinequery(bot, update):
    query = update.inline_query.query
    o = execute.bash(query, update, direct=False)
    results = list()
    results.append(
        InlineQueryResultArticle(id=uuid4(),
                                 title=query,
                                 description=o,
                                 input_message_content=InputTextMessageContent(
                                     '*{0}*\n\n{1}'.format(query, o),
                                     parse_mode="Markdown")))
    bot.answerInlineQuery(update.inline_query.id,
                          results=results,
                          cache_time=10)
Example #24
0
    def test_equality(self):
        a = InputInvoiceMessageContent(
            self.title,
            self.description,
            self.payload,
            self.provider_token,
            self.currency,
            self.prices,
        )
        b = InputInvoiceMessageContent(
            self.title,
            self.description,
            self.payload,
            self.provider_token,
            self.currency,
            self.prices,
            max_tip_amount=100,
            provider_data='foobar',
        )
        c = InputInvoiceMessageContent(
            self.title,
            self.description,
            self.payload,
            self.provider_token,
            self.currency,
            # the first prices amount & the second lebal changed
            [LabeledPrice('label1', 24),
             LabeledPrice('label22', 314)],
        )
        d = InputInvoiceMessageContent(
            self.title,
            self.description,
            'different_payload',
            self.provider_token,
            self.currency,
            self.prices,
        )
        e = InputTextMessageContent('text')

        assert a == b
        assert hash(a) == hash(b)

        assert a != c
        assert hash(a) != hash(c)

        assert a != d
        assert hash(a) != hash(d)

        assert a != e
        assert hash(a) != hash(e)
Example #25
0
def add_draw(player, results):
    """Add option to draw"""
    n = player.game.draw_counter or 1

    results.append(
        Sticker(
            "draw", sticker_file_id=c.STICKERS['option_draw'],
            input_message_content=
            InputTextMessageContent(__('Drawing {number} card',
                                       'Drawing {number} cards', n,
                                       multi=player.game.translate)
                                    .format(number=n))
        )
    )
Example #26
0
def category_article(cat):
    cat_bots = Bot.of_category_without_new(cat)
    txt = messages.PROMOTION_MESSAGE + '\n\n'
    txt += "There are *{}* bots in the category *{}*:\n\n".format(
        len(cat_bots), str(cat))
    txt += '\n'.join([str(b) for b in cat_bots])
    return InlineQueryResultArticle(
        id=uuid4(),
        title=emoji.emojize(cat.emojis, use_aliases=True) + cat.name,
        input_message_content=InputTextMessageContent(
            message_text=txt, parse_mode=ParseMode.MARKDOWN),
        description=cat.extra,
        # thumb_url='https://pichoster.net/images/2017/03/13/cfa5e29e29e772373242bc177a9e5479.jpg'
    )
Example #27
0
def inline_user(update, context):
    query = update.inline_query.query
    getString = "https://api.github.com/users/{}".format(query)
    print(getString)
    req = urllib.request.urlopen(getString)
    req = json.loads(req.read())

    results = list()
    results.append(
        InlineQueryResultArticle(id=req['id'],
                                 title=req['login'],
                                 input_message_content=InputTextMessageContent(
                                     req['html_url'])))
    context.bot.answer_inline_query(update.inline_query.id, results)
Example #28
0
def genstats(update, context):
    query = update.inline_query.query
    if not query:
        return
    results = list()
    statsString = required_stats(query) 
    results.append(
        InlineQueryResultArticle(
            id=query.upper(),
            title='Weebo Meter',
            input_message_content=InputTextMessageContent(statsString)
        )
    )
    context.bot.answer_inline_query(update.inline_query.id, results)
Example #29
0
def color_inline_query(bot, update):
    query = update.inline_query.query

    color = query.split("color")[1].strip()

    if color:
        hex_color = find_hex(color)
        msg = InputTextMessageContent(message_text=hex_color)
        results = [InlineQueryResultArticle(type='article', id=hex_color, title=color.capitalize(), thumb_url='http://img.dummy-image-generator.com/_mono/dummy-200x200-color{0}-plain.jpg'.format(hex_color), input_message_content=msg)]
        bot.answerInlineQuery(update.inline_query.id, results=results)

    else:
        results = [InlineQueryResultPhoto(type='photo', id=k, photo_url='http://img.dummy-image-generator.com/_mono/dummy-200x200-color{0}-plain.jpg'.format(str(k)), thumb_url='http://img.dummy-image-generator.com/_mono/dummy-200x200-color{0}-plain.jpg'.format(str(k)), photo_height=100, photo_width=100, input_message_content=InputTextMessageContent(message_text='{0}'.format(str(k)))) for k in ('EF5350', 'F44336', 'E53935', 'EC407A', 'E91E63', 'D81B60', 'AB47BC', '9C27B0', '8E24AA', '7E57C2', '673AB7', '5E35B1', '5C6BC0', '3F51B5', '3949AB','42A5F5','2196F3','1E88E5','26A69A','009688','00897B','81C784','66BB6A','4CAF50','9CCC65','8BC34A','7CB342','FFEE58','FFEB3B','FDD835','FF7043','FF5722','F4511E','8D6E63','795548','6D4C41','BDBDBD','9E9E9E','757575','90A4AE','78909C','607D8B')]
        bot.answerInlineQuery(update.inline_query.id, results=results)
Example #30
0
def inlinequery(update: Update, context: CallbackContext) -> None:
    """Handle the inline query."""
    query = update.inline_query.query
    results = [
        InlineQueryResultArticle(id=uuid4(),
                                 title="Caps",
                                 input_message_content=InputTextMessageContent(
                                     query.upper())),
        InlineQueryResultArticle(
            id=uuid4(),
            title="Bold",
            input_message_content=InputTextMessageContent(
                f"*{escape_markdown(query)}*", parse_mode=ParseMode.MARKDOWN),
        ),
        InlineQueryResultArticle(
            id=uuid4(),
            title="Italic",
            input_message_content=InputTextMessageContent(
                f"_{escape_markdown(query)}_", parse_mode=ParseMode.MARKDOWN),
        ),
    ]

    update.inline_query.answer(results)
Example #31
0
def article(title="",
            description="",
            message_text="",
            thumb_url=None,
            reply_markup=None):
    return InlineQueryResultArticle(
        id=uuid4(),
        title=title,
        description=description,
        thumb_url=thumb_url,
        input_message_content=InputTextMessageContent(
            message_text=message_text, disable_web_page_preview=False),
        reply_markup=reply_markup,
    )