Ubuntu установка telegram cli
Я давно собирался написать статью про Telegram, чтобы помочь его продвижению в массы. Не то, чтобы он в нём нуждался, но хотелось просто описать свой опыт использования и поделиться восхищением.
Но такого добра, думаю, уже навалом написали, потому это будет полезная статья о том, как использовать Telegram для получения информации с Linux-сервера, а именно:
- статус Apache;
- статус MySQL;
- использование процессора;
- объём свободной оперативной памяти;
- использование места на жёстком диске.
Для этого будет использоваться консольный клиент telegram-cli.
Опишу своё рабочее окружение. Есть удалённый Linux-сервер с Ubuntu 14.04.1 LTS, размещённый у хостера. Я подключаюсь к нему по SSH под учётной записью root (то есть, домашняя папка: /root ).
Подразумевается, что вы знакомы с Linux, потому я не буду писать о том, как скопировать файл, как разрешить скрипт на выполнение и прочем подобном.
Сначала надо запилить библиотеки:
Теперь, находясь в /root , получаем из репозитория ветку test - она самая обновляемая, потому я взял её, хотя понятно, чем это может грозить.
Переходим в /root/tg . Там выполняем:
Дальше нужно создать каталог с данными и файл конфига:
Вот, кстати, то, что я это делаю всё от root , внесло коррективы в читаемые мной руководства. В основном это воплотилось в использовании опции -U root .
Итак, первый запуск:
Он запустится, выведет что-то типа:
Тут надо подождать, пока не появится запрос номера телефона, ввести его, получить SMS и ввести код из него:
Теперь можно посмотреть список контактов на аккаунте:
Выход из приложения:
Запрос статуса nginx добавился позднее, так как через какое-то время я установил и его. Потому если у вас nginx отсутствует, то удалите его переменную из этого скрипта.
Сначала пишем ещё скрипт /root/tg_status_send.sh :
И теперь можно создавать задание в crontab :
Подробно о редактировании таблицы заданий можно прочитать в хорошей статье Schedule Tasks on Linux Using Crontab.
Моя строка задания такая:
После сохранения файла с таблицей не помешает перезагрузить службу:
Для контроля выполнения заданий можно просматривать журнал:
Всё, настройка завершена.
Ищем подходящую картинку, загружаем её на сервер под именем achtung.jpg и кладём по пути /root/achtung.jpg . Пишем скрипт отправки картинки /root/tg_img_send.sh :
И скрипт, который будет смотреть за MySQL и слать картинку, если он полёг - /root/tg_achtung.sh :
А нет, не напишу, как общаться, потому что они запилили поддержку ботов, так что это уже не очень нужно. Вот зато может быть напишу про своего бота, если сделаю уже написал.
Telegram CLI для Linux – проявление того самого духа «сделай сам», старой школы IT превосходства клавиатуры над мышами и сенсорными дисплеями. Помимо всего прочего, это ещё и удачно сделанный клиент, для некоторых целей незаменимый.
Если вы – приверженец консолей, но по какой-то причине не знали о TCLI, то наверняка захотите узнать об этому чудо-клиенте больше.
Послать телеграмму из командной строки
Любой линуксоид сможет легко найти с десяток причин, почему командная строка лучше графического интерфейса. Требует меньше вычислительного ресурса, обращается напрямую к нужной команде, позволяет экономить энергию… А самое главное – даёт чувство причастности к клубу избранных, знающих, что с этим мигающим экраном делать. Пользователь выглядит точь-в-точь как хакер в голливудском фильме – с той разницей, что всё работает.
Разумеется, все программы, которые имеют графический интерфейс, можно свести к голому ядру и управлять им из той же командной строки. Сервис Telegram – не исключение. Неудивительно, что именно в Linux появился минималистичный клиент Telegram CLI, где последнее слово расшифровывается как Command Line Interface.
Клиент появился в 2015 году и успел с тех пор получить несколько важных обновлений.Преимущества CLI
У командной строки есть целый ряд преимуществ, которые оценят те, кому дороги секунды и неудобны лишние движения:
Существуют и другие степени свободы, которые, впрочем, зависят от специфики системы. Например, если одновременно использовать наш клиент и программу для работы с дампом, это облегчает создание бэкапа со всеми вложениями, независимого от доступности сервера.
Инсталляция 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 получить проще, так как программа доступна через репозитории., Поэтому:
- Откройте терминал
- Введите sudo dnf install telegram-cli
Это штатный способ установки, и он оптимален, если вы просто хотите воспользоваться клиентом.
Для других дистрибутивов стоит воспользоваться тематическими ресурсами, где обсуждается Telegram CLI. В задачи данной статьи не входит объять необъятное.
Команды клиента CLI
Рассмотрим доступный список команд (по состоянию на июль 2018 года) с комментариями. Список предоставляется непосредственно создателями программы.
Если вы недостаточно знакомы с идеологией консольных команд, то поясним, что в нашем случае:
Внимательно следите за всем, что набираете. Иначе ваши руки вас подведут. Таким образом, консольный клиент – это выбор людей, уверенных в своих извилинах и пальцах.
В качестве примера для рассмотрения приведём набор команд для работы с абонентами.
Общение
Аналогичным образом работают команды по добавлению контакта в список, по отправке или сохранению файлов, по работе с визитными карточками или групповыми чатами.
Полный обновляемый список команд можно прочесть на странице разработчика. Он доступен лишь на английском, но, учитывая специфику клиента, это совсем не страшно.
Теперь можно перейти в каталог и приступить к сборке:
А вот перед make мы рекомендуем открыть файл ./tgl/mtproto-utils.c и закомментировать или удалить там строки 101 и 115:
assert (0); // As long as nobody ever uses this code, assume it is broken.
В противном случае велик риск получить ошибку вот такого вида:
tgl/mtproto-utils.c:101: BN2ull: Assertion 0' failed. SIGNAL received
И теперь самое долгое, вызываем команду ниже и идём заваривать чай
Если всё удачно прошло(если нет, копируйте красную ошибку, вставляйте в гугл и читайте с чем это связано, в данном примере представлена Ubuntu и Debian), то запускаем:
tg/bin/telegram-cli -k tg/tg-server.pub -W
Вас попросят войти и ТАДАМ!
Поздравляем. Теперь вы можете использовать консольный клиент телеграмма, но перед этим ознакомьтесь с командами.
Команды
Общение
chat_with_peer <peer> - начать переписку с этим пиром. /exit или /quit для завершения этого режима.
add_contact <phone-number> <first-name> <last-name> - попытаться добавить контакт в список контактов по номеру телефона
rename_contact <user> <first-name> <last-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> - загрузить фото/видео в папку загрузок и открыть стандартным просмоторщиком
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> - поставить фото на чат. Обрезается до квадрата
Поиск
Секретный чат
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 - вывести информацию о пользователях с которыми у вас много общих друзей
show_license - показать лицензию(GPLv2)
get_self - получить инфорцию о своем пользователе
Карточки
export_card - вывести ваше ‘карточку’ которую каждый позже может импортировать себе в контакты
Telegram - это мессенджер от основателя Вконтакте Павла Дурова, разработан в качестве замены как электронной почты так и SMS. Приложение полностью бесплатно, что-то немного похожее на скайп, но в большей мере имеет схожесть с соц-сетью вконтакте, это и не удивительно, мессенджер от основателя Вконтакте Павла Дурова все же.
Сегодняшний материал лишь, чтобы продемонстрировать альтернативный способ использования этого приложения. Если вам этот материал будете полезен я буду только рад. Если вы не захотите попробовать поработать в Telegram с терминала, не стоит беспокоиться, скорее этот материал просто не для вас.
Особенности Telegram Desktop:
Особенности Telegram CLI
Telegram CLI так же поддерживает автодополнение. Если вы один из тех пользователей, который регулярно забывают команды, это не является проблемой, этот процесс можно ускорить, вам нужно всего лишь помнить несколько первых символов любой команды, и использовать клавишу табуляции "Tab".
Функции, которые не поддерживаются в Telegram CLI, это стикеры, смайлы, пользовательские фоны, и другие визуальные функции.
Установка Telegram CLI
С центра приложений Ubuntu / Ubuntu Software эта версия не доступна, но мы ее можете установить с списка доступных пакетов "Snap".
Откройте терминал (Ctrl+Alt+T), далее выполним следующую команду:
если вы впервые выполняете установку snap приложений, будет предложено установить мини ядро для правильной работы snap приложений, немного и не мало около 80 мб, после автоматически установится Telegram CLI.
Как и WhatsApp, Telegram имеет привязку к мобильному телефону для подтверждения вашей личности. Начнем, выполним в терминале команду:
будет предложено ввести ваш номер телефона, вводим в полном формате только без + перед номером, например если вы в Украине, вводим например (380634159220), после на телефон придет SMS с кодом который нужно будет ввести в терминале и авторизация завершена.
Есть одно небольшое замечание, так как мне пришло два SMS как для Desktop клиента так и для CLI версии, "Вконтакте" немного запутался наверное и не понял кто и где авторизуется раз шлет два SMS, разобрались и вошли.
Использование Telegram CLI
Для проверки списка контактов, вы можете воспользоваться командой:
для проверки списка открытых чатов, выполним команду:
где вместо number of list вы можете указать сколько строк с истории которые вы хотите посмотреть. Полный список команд вы можете посмотреть на странице проекта на Github.
На этом пожалуй и окончим наш небольшой материал, если у вас есть вопросы, спрашивайте в комментариях к материалу.
Читайте также: