aiogram_dialog icon indicating copy to clipboard operation
aiogram_dialog copied to clipboard

Event and dialog_manager.event are a bit different

Open a0s opened this issue 5 months ago • 1 comments

Prerequisites:

pip install deepdiff
pip install pprintpp

Code:

async def toggle_subscription_click(
    event: ChatEvent, source: Any, dialog_manager: DialogManager, data: str
):
    from pprintpp import pprint

    print("--------------------------------")
    print("Simple equality check:", dialog_manager.event == event)
    diff = DeepDiff(dialog_manager.event, event, verbose_level=2)
    print("Deep comparison result:")
    pprint(diff)
    print("--------------------------------")

(
  Toggle(
      text=Format("{item.emoji} {item.name}"),
      id="subscription_plan",
      items="subscription_plans",
      item_id_getter=lambda item: item.id,
      on_click=toggle_subscription_click,
  ),
)

Result:

--------------------------------
Simple equality check: False
Deep comparison result:
DeepDiff({
    'values_changed': {
        'root.data': {
            'new_value': 'subscription_plan:paid',
            'old_value': 'xf1Up4\x1dsubscription_plan:paid',
        },
    },
})
--------------------------------

The difference is "xf1Up4\x1d" string, does it bug or feature?

a0s avatar May 15 '25 06:05 a0s