|
""" |
|
'document': { |
|
'file_name': 'preds (4).csv', 'mime_type': 'text/csv', |
|
'file_id': 'BQACAgIAAxkBAAIJ8F-QAVpXcgUgCUtr2OAHN-OC_2bmAAJwBwAC53CASIpMq-3ePqBXGwQ', |
|
'file_unique_id': 'AgADcAcAAudwgEg', 'file_size': 28775 |
|
} |
|
'photo': [ |
|
{'file_id': 'AgACAgIAAxkBAAIJ-F-QCOHZUv6Kmf_Z3eVSmByix_IwAAOvMRvncIBIYJQP2Js-sAWGaBiVLgADAQADAgADbQADjpMFAAEbBA', 'file_unique_id': 'AQADhmgYlS4AA46TBQAB', 'file_size': 13256, 'width': 148, 'height': 320}, |
|
{'file_id': 'AgACAgIAAxkBAAIJ-F-QCOHZUv6Kmf_Z3eVSmByix_IwAAOvMRvncIBIYJQP2Js-sAWGaBiVLgADAQADAgADeAADkJMFAAEbBA', 'file_unique_id': 'AQADhmgYlS4AA5CTBQAB', 'file_size': 50857, 'width': 369, 'height': 800}, |
|
{'file_id': 'AgACAgIAAxkBAAIJ-F-QCOHZUv6Kmf_Z3eVSmByix_IwAAOvMRvncIBIYJQP2Js-sAWGaBiVLgADAQADAgADeQADj5MFAAEbBA', 'file_unique_id': 'AQADhmgYlS4AA4-TBQAB', 'file_size': 76018, 'width': 591, 'height': 1280} |
|
] |
|
'video_note': { |
|
'duration': 2, 'length': 300, |
|
'thumb': {'file_id': 'AAMCAgADGQEAAgn_XaLgADAQAHbQADQCYAAhsE', 'file_unique_id': 'AQADWoxsmi4AA0AmAAI', 'file_size': 11684, 'width': 300, 'height': 300}, |
|
'file_id': 'DQACAgIAAxkBAAIJCASO6_6Hj8qY3PGwQ', 'file_unique_id': 'AgADeQcAAudwgEg', 'file_size': 102840 |
|
} |
|
'voice': { |
|
'duration': 1, 'mime_type': 'audio/ogg', |
|
'file_id': 'AwACAgIAAxkBAAIKAAFfkAu_8Ntpv8n9WWHETutijg20nAACegcAAudwgEi8N3Tjeom0IxsE', |
|
'file_unique_id': 'AgADegcAAudwgEg', 'file_size': 4391 |
|
} |
|
'sticker': { |
|
'width': 512, 'height': 512, 'emoji': 'π€', 'set_name': 's121356145_282028_by_stickerfacebot', 'is_animated': False, |
|
'thumb': { |
|
'file_id': 'AAMCAgADGQEAAgJUX5A5icQq_0qkwXnihR_MJuCKSRAAAmQAA3G_Owev57igO1Oj4itVTZguAAMBAAdtAAObPwACGwQ', 'file_unique_id': 'AQADK1VNmC4AA5s_AAI', 'file_size': 14242, 'width': 320, 'height': 320 |
|
}, |
|
'file_id': 'CAACAgIAAxkBAAICVF-QOYnEKv9KpMF54oUfzCbgikkQAAJkAANxvzsHr-e4oDtTo-IbBA', 'file_unique_id': 'AgADZAADcb87Bw', 'file_size': 25182 |
|
} |
|
'video': { |
|
'duration': 14, 'width': 480, 'height': 854, 'mime_type': 'video/mp4', |
|
'thumb': {'file_id': 'AAMCAgADGQEAAgoIX5BAQy-AfwmWLgADAQAHbQADJhAAAhsE', 'file_unique_id': 'AQAD5H8Jli4AAyYQAAI', 'file_size': 9724, 'width': 180, 'height': 320}, |
|
'file_id': 'BAACAgIIAAKaCAACCcGASLV2hk3MavHGGwQ', |
|
'file_unique_id': 'AgADmggAAgnBgEg', 'file_size': 1260506}, 'caption': '50603' |
|
} |
|
""" |
|
from typing import Dict |
|
|
|
import telegram |
|
from telegram import Update |
|
from telegram.ext import CallbackContext |
|
|
|
from users.models import User |
|
|
|
ALL_TG_FILE_TYPES = ["document", "video_note", "voice", "sticker", "audio", "video", "animation", "photo"] |
|
|
|
|
|
def _get_file_id(m: Dict) -> str: |
|
""" extract file_id from message (and file type?) """ |
|
|
|
for doc_type in ALL_TG_FILE_TYPES: |
|
if doc_type in m and doc_type != "photo": |
|
return m[doc_type]["file_id"] |
|
|
|
if "photo" in m: |
|
best_photo = m["photo"][-1] |
|
return best_photo["file_id"] |
|
|
|
|
|
def show_file_id(update: Update, context: CallbackContext) -> None: |
|
""" Returns file_id of the attached file/media """ |
|
u = User.get_user(update, context) |
|
|
|
if u.is_admin: |
|
update_json = update.to_dict() |
|
file_id = _get_file_id(update_json["message"]) |
|
message_id = update_json["message"]["message_id"] |
|
update.message.reply_text( |
|
text=f"`{file_id}`", |
|
parse_mode=telegram.ParseMode.HTML, |
|
reply_to_message_id=message_id |
|
) |
|
|