コード例 #1
0
    async def _send(self, image: BytesIO, *kb_list: InlineKeyboardMarkup):
        bot = Bot.get_current()
        user = User.get_current()
        call = CallbackQuery.get_current()
        message = Message.get_current()
        kb_list = [kb for kb in kb_list if kb]  # clean from None

        if call:
            reply_to = call.message.message_id
        elif message:
            reply_to = message and message.message_id
        else:
            reply_to = None

        if len(kb_list) == 0:
            kb = None
        elif len(kb_list) == 1:
            kb = kb_list[0]
        else:
            kb = inline.merge_inline_keyboards(kb_list[0], kb_list[1])

        await bot.send_photo(user.id,
                             image,
                             reply_markup=kb,
                             reply_to_message_id=reply_to)
コード例 #2
0
ファイル: tracking.py プロジェクト: roman-pinchuk/zmanim_bot
        async def wrapper(*args, **kwargs):
            spec = inspect.getfullargspec(func)
            kwargs = {k: v for k, v in kwargs.items() if k in spec.args}

            user = User.get_current()
            msg = Message.get_current()
            attach_message_text and params.update({'text': msg.text})

            posthog.capture(user.id, action, params, message_id=msg.message_id)

            return await func(*args, **kwargs)
コード例 #3
0
async def on_err_not_stations_found(*_):
    msg = Message.get_current()
    await msg.reply(texts.no_stops_found)
    return True
コード例 #4
0
async def on_err_api_not_responding(*_):
    msg = Message.get_current()
    await msg.reply(texts.api_not_responding)
    return True
コード例 #5
0
async def on_err_station_not_exists(*_):
    msg = Message.get_current()
    await msg.reply(texts.invalid_station)
    return True