{ user:
{ id: 'integer',
first_name: 'string',
last_name: 'string',
username: 'string' },
chat:
{ id: 'integer',
type: 'string',
title: 'string',
username: 'string',
first_name: 'string',
last_name: 'string' },
message:
{ message_id: 'integer',
from: 'user',
date: 'integer',
chat: 'chat',
forward_from: 'user',
forward_date: 'integer',
reply_to_message: 'message',
text: 'string',
audio: 'audio',
document: 'document',
photo: 'array of photosize',
sticker: 'sticker',
video: 'video',
voice: 'voice',
caption: 'string',
contact: 'contact',
location: 'location',
new_chat_participant: 'user',
left_chat_participant: 'user',
new_chat_title: 'string',
new_chat_photo: 'array of photosize',
delete_chat_photo: 'true',
group_chat_created: 'true',
supergroup_chat_created: 'true',
channel_chat_created: 'true',
migrate_to_chat_id: 'integer',
migrate_from_chat_id: 'integer' },
photo_size:
{ file_id: 'string',
width: 'integer',
height: 'integer',
file_size: 'integer' },
audio:
{ file_id: 'string',
duration: 'integer',
performer: 'string',
title: 'string',
mime_type: 'string',
file_size: 'integer' },
document:
{ file_id: 'string',
thumb: 'photosize',
file_name: 'string',
mime_type: 'string',
file_size: 'integer' },
sticker:
{ file_id: 'string',
width: 'integer',
height: 'integer',
thumb: 'photosize',
file_size: 'integer' },
video:
{ file_id: 'string',
width: 'integer',
height: 'integer',
duration: 'integer',
thumb: 'photosize',
mime_type: 'string',
file_size: 'integer' },
voice:
{ file_id: 'string',
duration: 'integer',
mime_type: 'string',
file_size: 'integer' },
contact:
{ phone_number: 'string',
first_name: 'string',
last_name: 'string',
user_id: 'integer' },
location: { longitude: 'float', latitude: 'float' },
user_profile_photos:
{ total_count: 'integer',
photos: 'array of array of photosize' },
file: { file_id: 'string', file_size: 'integer', file_path: 'string' },
reply_keyboard_markup:
{ keyboard: 'array of array of string',
resize_keyboard: 'boolean',
one_time_keyboard: 'boolean',
selective: 'boolean' },
reply_keyboard_hide: { hide_keyboard: 'true', selective: 'boolean' },
force_reply: { force_reply: 'true', selective: 'boolean' },
input_file:
{ chat_id: 'integer or string',
text: 'string',
parse_mode: 'string',
disable_web_page_preview: 'boolean',
disable_notification: 'boolean',
reply_to_message_id: 'integer',
reply_markup: 'replykeyboardmarkup or replykeyboardhide or forcereply' },
inline_query_result_article:
{ type: 'string',
id: 'string',
video_url: 'string',
mime_type: 'string',
message_text: 'string',
parse_mode: 'string',
disable_web_page_preview: 'boolean',
video_width: 'integer',
video_height: 'integer',
video_duration: 'integer',
thumb_url: 'string',
title: 'string',
description: 'string' },
inline_query_result_photo: { result_id: 'string', from: 'user', query: 'string' } }