Телеграм в терминале
@termuxguide
Недавно нам отписал подписчик по поводу пакета telegram-cli в ветке unstable. Поискав о нём информацию, я понял что это практически полноценный Telegram весом в 10 мб (с учётом зависимостей) только в командной строке, где конечно же есть возможность общения, отправки/скачивания файлов и многого другого.
Содержание
Установка
apt update apt install unstable-repo apt install telegram-cli
Использование
telegram-cli
Когда откроется интерфейс терминала Telegram, вам необходимо войти в свою учётную запись. Вход через терминал очень похож на использование официального приложения

Введите номер телефона подключённый к вашей учётной записи, чтобы продолжить. Если номер правильный, Telegram отправит код входа через другие приложения клиента, в которые вы вошли. Введите код, нажмите enter, и в случае наличия двухфакторной авторизации, вас попросят ввести пароль.
Чтобы просмотреть контакты Telegram через telegram-cli, введите
contact_list

Чтобы просмотреть чаты, попробуйте ввести команду
dialog_list

Чтобы отправить кому-нибудь сообщение в любом из этих чатов, попробуйте:
msg nameofperson messagename
Где "nameofperson" получатель, а "messagename" ваше сообщение


Для просмотра истории чата или группы введите
history chat numberoflines
"numberoflines" это количество строк которое вы хотите вывести
Все команды
Примечание: Команды внутри telegram-cli.
Общение
- msg <peer> Text - отправить сообщение пиру
- fwd <user> <msg-seqno> - переслать сообщение пользователю. Вы можете видеть номера сообщений, запуская клиент с опцией -N
- chat_with_peer <peer> - начать переписку с этим пиром. /exit или /quit для завершения этого режима.
- add_contact <phone-number> <first-name> <last-name> - попытаться добавить контакт в список контактов по номеру телефона
- rename_contact <user> <first-name> <last-name> - попытаться переименовать контакт. Если у вас есть несколько устройств, то будет битва
- mark_read <peer> - отметить прочитанными все сообщения от пира
- delete_msg <msg-seqno> - удалить сообщение (но не полностью)
- restore_msg <msg-seqno> - восстановить удалённое сообщение. Невозможно для серкретного чата. Возможно только некоторое время спустя (один час, я думаю) после удаления
Мультимедия
- send_photo <peer> <photo-file-name> - отправить фото
- send_video <peer> <video-file-name> - отправить видео
- send_text <peer> <text-file-name> - отправить содержимое файла текстом
- load_photo/load_video/load_video_thumb/load_audio/load_document/load_document_thumb <msg-seqno> - загрузить фото/видео/аудио/документ в директорию загрузок
- view_photo/view_video/view_video_thumb/view_audio/view_document/view_document_thumb <msg-seqno> - загрузить фото/видео в папку загрузок и открыть стандартным просмоторщиком
- fwd_media <msg-seqno> послать медиа файл в сообщении. Используйте это, чтобы скрыть информацию об авторе медиа файла (хотя всё ещё будет возможно найтиuser_id из самого медиа файла, но невозможно получить access_hash этого пользователя)
- set_profile_photo <photo-file-name> - установить фотографию профиля. Обрезается до квадрата
Групповые чаты
- chat_info <chat> - вывести информацию о чате
- chat_add_user <chat> <user> - добавить пользователя в чат
- chat_del_user <chat> <user> - удалить пользователя из чата
- rename_chat <chat> <new-name>
- create_group_chat <chat topic> <user1> <user2> <user3> … - создать групповой чат с пользователями, используйте chat_add_user чтобы добавить больше пользователей
- chat_set_photo <chat> <photo-file-name> - поставить фото на чат. Обрезается до квадрата
Поиск
- search <peer> pattern - поиск pattern в сообщениях с пиром
- global_search pattern - поиск pattern во всех сообщениях
Секретный чат
- create_secret_chat <user> - создать секретный чат с пользователем
- visualize_key <secret_chat> - вывести визуализацию ключа шифрования. Вы должны сравнить его с ключем вашего собеседника
- set_ttl <secret_chat> <ttl> - установить ttl в секретном чате. Не смотря на то, что клиент игнорирует это, вашему собеседнику это может быть полезно
- accept_secret_chat <secret_chat> - вручную принять секретный чат (действенно только если клиент запущен с ключём -E)
Статистика и информация
- user_info <user> - вывести информацию о пользователе
- history <peer> [limit] - вывести историю (и пометить прочитаными). Лимит по умолчанию = 40
- dialog_list - вывести информацию о диалогах
- contact_list - вывести информацию о пользователях в вашем списке контактов
- suggested_contacts - вывести информацию о пользователях с которыми у вас много общих друзей
- stats - для отладки
- show_license - показать лицензию(GPLv2)
- help - вывести этот хэлп
- get_self - получить инфорцию о своем пользователе
Карточки
- export_card - вывести ваше ‘карточку’ которую каждый позже может импортировать себе в контакты
- import_card <card> - получить пользователя по карточке. После этого вы сможете писать ему сообщения
Остальное
- quit - выйти
- safe_quit - подождать завершения всех запросов и выйти
Аргументы при запуске
Использовать "telegram-cli --/-arg"
--phone/-u- указать имя пользователя (не будет запрашиваться при авторизации)--rsa-key/-k- указать расположение открытого ключа (возможно несколько записей)--verbosity/-v- увеличить детализацию (0-ОШИБКА 1-ПРЕДУПРЕЖДЕНИЕ 2-УВЕДОМЛЕНИЕ 3 + -DEBUG-уровни)--enable-msg-id/-N- режим номера сообщения--config/-c- другой конфиг--profile/-p- использовать указанный профиль--log-level/-l- log уровень--sync-from-start/-f- во время авторизации получать все сообщения с момента регистрации--disable-auto-accept/-E- отключить автоматический приём шифрованных чатов--wait-dialog-list/-W- отправить запросdialog_listи дождаться ответа перед прочтением вывода-
--disable-colors/-C- отключить вывод цвета --disable-readline/-R- отключить readline--alert/-A- включить звуковые уведомления--daemonize/-d- режим демона--logname/-L<log-name> - имя log файла--username/-U<user-name> - изменить uid после запуска--groupname/-G<group-name> - изменить gid после запуска--disable-output/-D- отключить вывод--tcp-port/-P<port> - порт для прослушивания входных команд--udp-socket/-S<socket-name> - unix сокет для создания--exec/-e<commands> - выполнить команду и выйти--disable-names/-I- использовать идентификаторы пользователя и чата в обновлениях вместо имён--enable-ipv6/-6- использовать ipv6 (может быть нестабильно)--help/-h- вывести эту справку--accept-any-tcp- принимает tcp-соединения от любого src (по умолчанию только loopback)--disable-link-preview- отключает предварительный просмотр server-side ссылок--json- печатает ответы и значения в формате json--permanent-msg-ids- принудительно использовать id сообщений--permanent-peer-ids- принудительно использовать id пиров
Интересные материалы
Авторизация/Регистрация пользователя через Telegram
Пробрасываем трафик через Telegram
Спасибо за прочтение. Возникли вопросы? Есть желание что-то добавить/подправить?
Написать автору - @Enleann
Поддержать автора - donationalerts.com/r/enleann
📢Наш канал 👉 t.me/termuxguide
📢Новостной канал 👉 t.me/termuxnews
👥Наш чат 👉https://t.me/joinchat/LPoOWVlTjQr3_hOqJQp7Qw
📝Правила чата 👉 https://telegra.ph/Pravila-02-17-4
👤Создатель канала 👉 @Enleann