Консольный телеграмм для линукс

Как пользоваться Telegram из командной строки в Linux

С более чем 100 миллионов активных пользователей ежемесячно, Telegram является одним из популярных мессенджеров. Уникальность приложения в том, что данные могут храниться в облаке, плюс сильное шифрование и самоуничтожающиеся сообщения.

Официально Telegram доступен для всех популярных платформ: Android, iOS и Windows Phone, а также настольных систем: Windows, MacOS и Linux.

В этой статье мы обсудить, как вы можете получить доступ к Telegram через командную строку в Linux.

Примечание: Все команды, упомянутые в этой статье, были протестированы на Ubuntu 16.04.

Доступ к Telegram через командную строку

Чтобы получить доступ к сервису из командной строки, нужно сначала скачать и установить (из источника) инструмент под названием telegram-cli. Вы можете сделать это, выполнив следующие команды:

После успешно выполненных команд, вы сможете найти telegram-cli в “bin” суб-директории. Чтобы запустить инструмент, выполните следующие команды:

Стоит отметить, что при попытке запустить инструмент в первый раз, может появляться следующая ошибка:

Вполне вероятно, что вы получите такую ошибку.

Погуглив эту ошибку, я узнал, что “assertion “0” — это известная проблема. Прочитав подробности о проблеме и комментарии пользователей, я закомментировал строчку номер 101 в “tgl/mtproto-utils.c”, скомпилировав бинарный код снова, я дал ему еще одну попытку.

На этот раз инструмент успешно запустился.

Приложение работает с телефонными номерами, поэтому вам будет предложено ввести ваш номер. После чего вы получите код на свой телефон, который должны будете ввести в терминал. Как только вы это сделаете, вы сможете пользоваться Telegram.

Для использования сервиса в терминале, вы должны будете знать «список команд», чтобы пользоваться telegram-cli. Например, чтобы отправить сообщение на один из ваших контактов Telegram, используйте следующую команду:

Замените [peer] на имя контакта (просто начните набирать имя и нажмите клавишу Tab; имя будет автоматически выбрано), и [text] текст, который вы хотите отправить. Скриншот показывает сообщение, отправленное на один из контактов и ответ на него.

Вот несколько команд для telegram-cli:

  • msg [peer] [text] – отправка сообщения
  • fwd [user] [msg-seqno] – переслать сообщение другому пользователю. Вы можете увидеть номер сообщения, начиная с клиента -N
  • chat_with_peer [peer] – начинается one-on-one чат. /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] – восстанавливает удаленные сообщения. Невозможно восстановить сообщения в секретных чатах. Возможно восстановить через короткий промежуток времени (примерно один час) после удаления

Полный список команд здесь.

Заключение

Процесс установки не простой, но как только это будет сделано, вы должны запомнить множество команд для использования мессенджера. Фактически, вы получите доступ к вашей учетной записи Telegram через командную строку, которая имеет команды для действий через терминал.

Установка — это одноразовый процесс, так что, не должно быть большой проблемы. Касаемо команд, вы к ним привыкнете с течением времени. Теперь вы знакомы с основами командной строки Linux.

Читайте также:  Windows 10 зеркало ресинхронизация

Источник

Telegram CLI

Всем привет. На днях начал своё знакомство с консольным клиентом для Telegram . Решил по этому поводу написать пару статей. Для начала расскажу, как это дело установить, в следующей части опишу, как запускать telegram-cli в виде демона в системах с systemd, а в качестве бонуса будет статья о том, как написать обёртку под всё это для zsh, и, моё любимое, автодополнение по tab’у.

Установка

У меня стоит Fedora 22 в репозиториях которой присутствует telegram-cli , поэтому если вы в таких же условиях, то можно сделать так:

Но мы пойдём другим путём и установим его из сорцов, тем более что это делается очень просто.

Сборка из исходников

Историческая справка
Раньше в UNIX системах директория /opt использовалась для пакетов сторонних производителей. opt это сокращение от option, что можно перевести как опциональный или необязательный; туда, например попадали пакеты, за которые вы заплатили деньги. В BSD Unix системах вместо /opt для этих целей использовали /usr/local .
via

Я предпочитаю устанавливать сторонние программы в директорию /opt . Перейдём в неё и клонируем репозиторий

Дальше нужно установить зависимости. В исторукции из репозитория написано установить libjansson-devel , который моему dnf’у найти не удалось, зато он нашёл jansson-devel .

Мы уже находимся в каталоге /opt/tg поэтому начнем сборку.

Если всё прошло хорошо, то в папке bin должен появиться telegram-cli . Осталось запихнуть его куда-нибудь в пути.

Получилось? Тогда учимся пользоваться.

Запуск

Сначала telegram-cli спросит номер телефона. Вводим. Ждём сообщения с кодом. Вводим код. Получаем доступ к командной строке.

Вид из командной строки Пришедший код

Использование

Что первым делом нужно вводить в любую консоль?

Посмотрим, что у нас есть

Доступные команды

Для начала сделаю лирическое отступление и расскажу, что такое peer и как его употреблять.

Из официальной документации Peer это имя контакта или диалога; можно дополнять по TAB’у. Все пробелы заменяются на нижние подчеркивания.
Если у двух пользователей одинаковые имена, то к ним добавляется номер телефона. (например, Имя_Фамилия будет Имя_Фамилия#1, Имя_Фамилия#2 и так далее)

Чтобы появилась возможность отправлять сообщения, нужно сначала получить все диалоги с помощью dialog_list , либо запускать клиент с параметром -W . Рекомендую второе.

peer я оставлю без перевода и буду писать пир

Общение

Text — отправить сообщение пиру

  • fwd — переслать сообщение пользователю. Вы можете видеть номера сообщений, запуская клиент с опцией -N
  • chat_with_peer

    — начать переписку с этим пиром. /exit или /quit для завершения этого режима.
    add_contact

    — попытаться добавить контакт в список контактов по номеру телефона

  • rename_contact — попытаться переименовать контакт. Если у вас есть несколько устройств, то будет битва
  • mark_read

    — отметить прочитанными все сообщения от пира

  • delete_msg — удалить сообщение (но не полностью)
  • restore_msg — восстановить удалённое сообщение. Невозможно для серкретного чата. Возможно только некоторое время спустя (один час, я думаю) после удаления
  • Мультимедия

    — отправить фото
    send_video

    — отправить видео
    send_text

    — отправить содержимое файла текстом

  • load_photo/load_video/load_video_thumb/load_audio/load_document/load_document_thumb — загрузить фото/видео/аудио/документ в директорию загрузок
  • view_photo/view_video/view_video_thumb/view_audio/view_document/view_document_thumb — загрузить фото/видео в папку загрузок и открыть стандартным просмоторщиком
  • fwd_media послать медиа файл в сообщении. Используйте это, чтобы скрыть информацию об авторе медиа файла (хотя всё ещё будет возможно найтиuser_id из самого медиа файла, но невозможно получить access_hash этого пользователя)
  • set_profile_photo

    — установить фотографию профиля. Обрезается до квадрата

    Групповые чаты

    • chat_info — вывести информацию о чате
    • chat_add_user — добавить пользователя в чат
    • chat_del_user — удалить пользователя из чата
    • rename_chat
    • create_group_chat … — создать групповой чат с пользователями, используйте chat_add_user чтобы добавить больше пользователей
    • chat_set_photo

    — поставить фото на чат. Обрезается до квадрата

    Поиск

    pattern — поиск pattern в сообщениях с пиром

  • global_search pattern — поиск pattern во всех сообщениях
  • Секретный чат

    • create_secret_chat — создать секретный чат с пользователем
    • visualize_key — вывести визуализацию ключа шифрования. Вы должны сравнить его с ключем вашего собеседника
    • set_ttl — установить ttl в секретном чате. Не смотря на то, что клиент игнорирует это, вашему собеседнику это может быть полезно
    • accept_secret_chat — вручную принять секретный чат (действенно только если клиент запущен с ключём -E)

    Статистика и информация

    • user_info — вывести информацию о пользователе
    • history

    [limit] — вывести историю (и пометить прочитаными). Лимит по умолчанию = 40

  • dialog_list — вывести информацию о диалогах
  • contact_list — вывести информацию о пользователях в вашем списке контактов
  • suggested_contacts — вывести информацию о пользователях с которыми у вас много общих друзей
  • stats — для отладки
  • show_license — показать лицензию(GPLv2)
  • help — вывести этот хэлп
  • get_self — получить инфорцию о своем пользователе
  • Карточки

    • export_card — вывести ваше ‘карточку’ которую каждый позже может импортировать себе в контакты
    • import_card — получить пользователя по карточке. После этого вы сможете писать ему сообщения

    Остальное

    • quit — выйти
    • safe_quit — подождать завершения всех запросов и выйти

    Практика

    Напишем сообщение Даниле и посмотрим, что он ответит. Отправить сообщение можно не сразу, сначала нужно дождаться, пока прогрузяться все контакты.

    Готово! Вы восхетительны.

    В следующей статье мы рассмотрим, как сделать из этого добра systemd демона, чтобы не ждать каждый раз прогрузки контактов.

    Источник

    Клиент Telegram CLI

    Telegram CLI для Linux – проявление того самого духа «сделай сам», старой школы IT превосходства клавиатуры над мышами и сенсорными дисплеями. Помимо всего прочего, это ещё и удачно сделанный клиент, для некоторых целей незаменимый.

    Если вы – приверженец консолей, но по какой-то причине не знали о TCLI, то наверняка захотите узнать об этому чудо-клиенте больше.

    Послать телеграмму из командной строки

    Любой линуксоид сможет легко найти с десяток причин, почему командная строка лучше графического интерфейса. Требует меньше вычислительного ресурса, обращается напрямую к нужной команде, позволяет экономить энергию… А самое главное – даёт чувство причастности к клубу избранных, знающих, что с этим мигающим экраном делать. Пользователь выглядит точь-в-точь как хакер в голливудском фильме – с той разницей, что всё работает.

    Разумеется, все программы, которые имеют графический интерфейс, можно свести к голому ядру и управлять им из той же командной строки. Сервис Telegram – не исключение. Неудивительно, что именно в Linux появился минималистичный клиент Telegram CLI, где последнее слово расшифровывается как Command Line Interface.

    Преимущества CLI

    У командной строки есть целый ряд преимуществ, которые оценят те, кому дороги секунды и неудобны лишние движения:

    • Меньше движений для отправки сообщения. Вместо того, чтобы выбирать адресата с помощью мыши, переходить в окно для ввода текста, переключаться снова на клавиатуру и вводить сообщение, а затем отправлять его, вы можете просто набрать имя получателя и текст сообщения, с минимумом лишних телодвижений и символов.
    • Больше степеней свободы. Например, можно выслать произвольный файл в виде текста, что иногда бывает ценно. Клиенты с графическим интерфейсом обычно такой опции не предоставляют.
    • Можно запускать клиент в режиме демона, что позволяет постоянно держать загруженным список контактов и содержание чатов
    • Запуск с ключами (параметрами) даёт больше степеней свободы и больший выбор режимов работы программы
    • Клиент можно установить на самое разное железо, включая такое скромное, как Raspberry Pi

    Существуют и другие степени свободы, которые, впрочем, зависят от специфики системы. Например, если одновременно использовать наш клиент и программу для работы с дампом, это облегчает создание бэкапа со всеми вложениями, независимого от доступности сервера.

    Инсталляция Telegram CLI

    Понятно, что клиент ещё не стал частью официальных дистрибутивов Linux: для гиковских Fedora и Slackware он необязателен, для массовой Ubuntu – слишком гиковский. Поэтому устанавливать его придётся самостоятельно. По мере распространения программа появляется в некоторых популярных репозиториях, но не во всех.

    Рассмотрим инсталляцию Telegram CLI для некоторых версий.

    Ubuntu/Debian

    Для «народного» дистрибутива Linux процесс установки через стандартный менеджер пакетов невозможен. Однако можно воспользоваться пакетами Snap. Тогда установка выглядит так:

    • Откройте терминал
    • Введите команду: sudo snap install telegram-cli
    • Дождитесь окончания установки

    Стоит отметить, что, если вы используете Snap впервые, то первоначально вам понадобится установить специфическое ядро. Оно занимает относительно немного места – порядка 80 МБ. Зато потом вы сможете работать со Snap-пакетами совершенно свободно. Можете даже отпраздновать это, спев «I’ve got the power!»

    Fedora

    Для данного Linux-проекта Telegram CLI получить проще, так как программа доступна через репозитории., Поэтому:

    1. Откройте терминал
    2. Введите sudo dnf install telegram-cli

    Это штатный способ установки, и он оптимален, если вы просто хотите воспользоваться клиентом.

    Для других дистрибутивов стоит воспользоваться тематическими ресурсами, где обсуждается Telegram CLI. В задачи данной статьи не входит объять необъятное.

    Команды клиента CLI

    Рассмотрим доступный список команд (по состоянию на июль 2018 года) с комментариями. Список предоставляется непосредственно создателями программы.

    Если вы недостаточно знакомы с идеологией консольных команд, то поясним, что в нашем случае:

    • Простым текстом печатаются команды. Они жёстко формализованы, поэтому опечатка в них может привести к невыполнению команды.
    • В одинарных кавычках печатаются пользовательские данные (тексты сообщений, точные пути к расположению файлов, имена и телефонные номера пользователей). Опечатки в них могут привести к тому, что ваше послание получит не тот абонент.

    Внимательно следите за всем, что набираете. Иначе ваши руки вас подведут. Таким образом, консольный клиент – это выбор людей, уверенных в своих извилинах и пальцах.

    В качестве примера для рассмотрения приведём набор команд для работы с абонентами.

    Общение

    Text – отправка сообщения абоненту, где msg – команда отправки, peer – имя пользователя, Text – текст сообщения

    fwd — переадресация сообщения. Чтобы сообщения отображались под номерами, при запуске клиента нужно указать в терминале параметр «–N».

    — запускает приватную беседу с указанным абонентом. Для вызода из беседы наберите /exit или /quit.

    — добавляет в контакт-лист контакт с указанным телефонным номером под заданными именем и фамилией (конечно, если таковой существует)

    rename_contact — пытается переименовать контакт. Возможны конфликты, если вы используете аккаунт Telegram и на других устройствах.

    — отметить все сообщения от абонента как прочитанные (действует так же, как аналогичная команда в других клиентах)

    delete_msg — удаление сообщения. Разумеется, у собеседника оно останется.

    restore_msg — восстановление удалённых сообщений. Работает в течение некоторого времени (приблизительно часа) после удаления. Для тайных чатов не работает вообще.

    Аналогичным образом работают команды по добавлению контакта в список, по отправке или сохранению файлов, по работе с визитными карточками или групповыми чатами.

    Полный обновляемый список команд можно прочесть на странице разработчика. Он доступен лишь на английском, но, учитывая специфику клиента, это совсем не страшно.

    Источник

    Читайте также:  Windows 10 не видны компьютеры рабочей группы
    Оцените статью