{"broadcast",{ca_user,ca_period,ca_string_end,ca_none},do_broadcast,"broadcast <user>+ <text>\tSends text to several users at once",NULL},
{"channel_info",{ca_channel,ca_none},do_channel_info,"channel_info <channel>\tPrints info about channel (id, members, admin, etc.)",NULL},
{"channel_list",{ca_number|ca_optional,ca_number|ca_optional,ca_none},do_channel_list,"channel_list [limit=100] [offset=0]\tList of last channels",NULL},
{"channel_set_about",{ca_channel,ca_string,ca_none},do_channel_set_about,"channel_set_about <channel> <about>\tSets channel about info.",NULL},
{"channel_set_photo",{ca_channel,ca_file_name_end,ca_none},do_channel_set_photo,"channel_set_photo <channel> <filename>\tSets channel photo. Photo will be cropped to square",NULL},
{"chat_add_user",{ca_chat,ca_user,ca_number|ca_optional,ca_none},do_chat_add_user,"chat_add_user <chat> <user> [msgs-to-forward]\tAdds user to chat. Sends him last msgs-to-forward message from this chat. Default 100",NULL},
{"chat_del_user",{ca_chat,ca_user,ca_none},do_chat_del_user,"chat_del_user <chat> <user>\tDeletes user from chat",NULL},
{"chat_info",{ca_chat,ca_none},do_chat_info,"chat_info <chat>\tPrints info about chat (id, members, admin, etc.)",NULL},
{"import_card",{ca_string,ca_none},do_import_card,"import_card <card>\tGets user by card and prints it name. You can then send messages to him as usual",NULL},
{"import_chat_link",{ca_string,ca_none},do_import_chat_link,"import_chat_link <hash>\tJoins to chat by link",NULL},
{"load_audio",{ca_msg_id,ca_none},do_load_audio,"load_audio <msg-id>\tDownloads file to downloads dirs. Prints file name after download end",NULL},
{"load_channel_photo",{ca_channel,ca_none},do_load_user_photo,"load_channel_photo <channel>\tDownloads file to downloads dirs. Prints file name after download end",NULL},
{"load_chat_photo",{ca_chat,ca_none},do_load_user_photo,"load_chat_photo <chat>\tDownloads file to downloads dirs. Prints file name after download end",NULL},
{"load_document",{ca_msg_id,ca_none},do_load_document,"load_document <msg-id>\tDownloads file to downloads dirs. Prints file name after download end",NULL},
{"load_document_thumb",{ca_msg_id,ca_none},do_load_document_thumb,"load_document_thumb <msg-id>\tDownloads file to downloads dirs. Prints file name after download end",NULL},
{"user_info",{ca_user,ca_none},do_user_info,"user_info <user>\tPrints info about user (id, last online, phone)",NULL},
{"view_audio",{ca_msg_id,ca_none},do_open_audio,"view_audio <msg-id>\tDownloads file to downloads dirs. Then tries to open it with system default action",NULL},
{"view_channel_photo",{ca_channel,ca_none},do_view_user_photo,"view_channel_photo <channel>\tDownloads file to downloads dirs. Then tries to open it with system default action",NULL},
{"view_chat_photo",{ca_chat,ca_none},do_view_user_photo,"view_chat_photo <chat>\tDownloads file to downloads dirs. Then tries to open it with system default action",NULL},
{"view_document",{ca_msg_id,ca_none},do_open_document,"view_document <msg-id>\tDownloads file to downloads dirs. Then tries to open it with system default action",NULL},
{"view_document_thumb",{ca_msg_id,ca_none},do_open_document_thumb,"view_document_thumb <msg-id>\tDownloads file to downloads dirs. Then tries to open it with system default action",NULL},
...
...
@@ -2438,6 +2464,7 @@ void print_channel_info_gw (struct tgl_state *TLSR, void *extra, int success, st