Format#

The Format widget is used when you want to insert dynamic data into the text.

Note

You need to either save this data in dialog_data beforehand or use getter to pass data to the widget (see passing data).

Code example:

from typing import Any

from aiogram.filters.state import StatesGroup, State

from aiogram_dialog import Window, DialogManager, Dialog
from aiogram_dialog.widgets.text import Format

class MySG(StatesGroup):
    main = State()


async def getter_example(**kwargs):
    return {
        "name": "Tishka17",
    }


window = Window(
    Format("Hello, {name}!"),
    Format('Project: {dialog_data[project][name]}'),
    getter=getter_example,
    state=MySG.main
)


async def on_dialog_start(start_data: Any, manager: DialogManager):
    project = {
        'name': 'aiogram-dialog',
    }
    manager.dialog_data['project'] = project


dialog = Dialog(
    window,
    on_start=on_dialog_start
)

Result:

../../../_images/format.png