azils3's picture
Upload 63 files
16bfc87 verified
"""
'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
)