Skip to main content

An inline tool for selecting valid timezone differences to UTC

Project description

aiogram_utcpicker

pip install utc_picker

UTC selection tool for aiogram3 telegram bots

Demo

import logging
import asyncio
import sys
import aiogram.client.default
from aiogram_utcpicker import UtcPickerCallback, start_utc_picker, process_utc_picker
from aiogram import Bot, Dispatcher
from aiogram.enums import ParseMode
from aiogram.filters import Command
from aiogram.filters.callback_data import CallbackData
from aiogram.types import Message, CallbackQuery

dp = Dispatcher()

YOUR_API_TOKEN = ''


@dp.message(Command('utc_picker'))
async def cmd_utc_picker(message: Message):
    await message.answer(
        'Utc picker demo:\nTry changing the values and submitting\n'
        'Only the valid timezones will be accepted, otherwise an error notification will be displayed',
        reply_markup=await start_utc_picker()
    )


@dp.callback_query(UtcPickerCallback.filter())
async def process_utc_picker_selection(callback: CallbackQuery, callback_data: CallbackData):
    canceled, selected, utc_difference = await process_utc_picker(callback, callback_data)

    if canceled:
        await callback.message.answer('You have canceled utc picker selection')
    elif selected:
        await callback.message.answer(f'Selected value in minutes: {utc_difference}')


async def main():
    bot = Bot(YOUR_API_TOKEN, default=aiogram.client.default.DefaultBotProperties(parse_mode=ParseMode.HTML))
    await dp.start_polling(bot)

if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO, stream=sys.stdout)
    asyncio.run(main())

Localization

By default, all captions are in english.

To customize text captions, pass a dict with your translations to the start_utc_picker() function

It should have the following structure:

{'cancel_button': 'Cancel', 
'confirm_button': 'Confirm',
'display_value': 'Time according to selected: ',
'err_msg_invalid': 'Not a valid timezone'}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiogram_utcpicker-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiogram_utcpicker-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file aiogram_utcpicker-0.1.0.tar.gz.

File metadata

  • Download URL: aiogram_utcpicker-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.11

File hashes

Hashes for aiogram_utcpicker-0.1.0.tar.gz
Algorithm Hash digest
SHA256 337bc5e9a26a159b6de91d28b5449a3f61175e33218eb2506142b609a06f355b
MD5 944f8fe4c86f03ecedef17d649fd1625
BLAKE2b-256 8b4114472f83dc64711e9bd35779825f4588de766d6c64ccd6df02cb372f57c9

See more details on using hashes here.

File details

Details for the file aiogram_utcpicker-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aiogram_utcpicker-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c720579847ea594279e2968b1e1ed68a06038226411316bf60a067505358641
MD5 14e7331736accf9f57dcc8c90a4a2ba9
BLAKE2b-256 72f9fa347e64c5773ba93924058d3ac5bbc46df11f0a7b39f542db3ad0fe6dfa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page