Сериализация Message aiogram3
У меня есть handler, который получает объект типа Message. Далее необходимо сериализовать объект Message. Использовал модуль pickle для сериализации, но получал ошибку: TypeError: cannot pickle 'socket' object
Код:
from aiogram.types import Message
import pickle
async def dispatcher_message(message: Message):
pickled_message = pickle.dumps(message)
print(pickled_message)
Пробовал вручную создать объект Message и сериализовать, по итогу получилось:
from aiogram.types import Message, User, Chat
import pickle
import datetime
message = Message(message_id=108, date=datetime.datetime(2024, 1, 3, 12, 28, 12, tzinfo=datetime.timezone.utc), chat=Chat(id=6545985716, type='private', title=None, username='test_efos', first_name='Development', last_name=None, is_forum=None, photo=None, active_usernames=None, available_reactions=None, accent_color_id=None, background_custom_emoji_id=None, profile_accent_color_id=None, profile_background_custom_emoji_id=None, emoji_status_custom_emoji_id=None, emoji_status_expiration_date=None, bio=None, has_private_forwards=None, has_restricted_voice_and_video_messages=None, join_to_send_messages=None, join_by_request=None, description=None, invite_link=None, pinned_message=None, permissions=None, slow_mode_delay=None, message_auto_delete_time=None, has_aggressive_anti_spam_enabled=None, has_hidden_members=None, has_protected_content=None, has_visible_history=None, sticker_set_name=None, can_set_sticker_set=None, linked_chat_id=None, location=None), message_thread_id=None, from_user=User(id=6545985716, is_bot=False, first_name='Development', last_name=None, username='test_efos', language_code='ru', is_premium=None, added_to_attachment_menu=None, can_join_groups=None, can_read_all_group_messages=None, supports_inline_queries=None), sender_chat=None, forward_origin=None, is_topic_message=None, is_automatic_forward=None, reply_to_message=None, external_reply=None, quote=None, via_bot=None, edit_date=None, has_protected_content=None, media_group_id=None, author_signature=None, text='dfs\\', entities=None, link_preview_options=None, animation=None, audio=None, document=None, photo=None, sticker=None, story=None, video=None, video_note=None, voice=None, caption=None, caption_entities=None, has_media_spoiler=None, contact=None, dice=None, game=None, poll=None, venue=None, location=None, new_chat_members=None, left_chat_member=None, new_chat_title=None, new_chat_photo=None, delete_chat_photo=None, group_chat_created=None, supergroup_chat_created=None, channel_chat_created=None, message_auto_delete_timer_changed=None, migrate_to_chat_id=None, migrate_from_chat_id=None, pinned_message=None, invoice=None, successful_payment=None, users_shared=None, chat_shared=None, connected_website=None, write_access_allowed=None, passport_data=None, proximity_alert_triggered=None, forum_topic_created=None, forum_topic_edited=None, forum_topic_closed=None, forum_topic_reopened=None, general_forum_topic_hidden=None, general_forum_topic_unhidden=None, giveaway_created=None, giveaway=None, giveaway_winners=None, giveaway_completed=None, video_chat_scheduled=None, video_chat_started=None, video_chat_ended=None, video_chat_participants_invited=None, web_app_data=None, reply_markup=None, forward_date=None, forward_from=None, forward_from_chat=None, forward_from_message_id=None, forward_sender_name=None, forward_signature=None, user_shared=None)
pickled_message = pickle.dumps(message)
print(pickled_message)
msg = pickle.loads(pickled_message)
print(msg)
Далее пробовал изменить код:
async def dispatcher_message(message: Message):
await message.answer("22")
msg = pickle.dumps(message)
print(msg)
Выявляется другая ошибка: TypeError: cannot pickle 'weakref.ReferenceType' object
