TTYtter — консольный Twitter-клиент на Perl

12 декабря 2012

Я тут в свободное время решил провести небольшое исследование на предмет существования консольных клиентов для Twitter. К моему изумлению, их оказалось великое множество. Наиболее удачным мне показался клиент под названием TTYtter, о котором мне и хотелось бы поведать.

Установка TTYtter под FreeBSD:

portmaster -d net-im/ttytter

Установка под Debian:

sudo apt-get install ttytter

Самую свежую на момент написания этих строк версию можно поставить так:

sudo wget http://www.floodgap.com/software/ttytter/dist2/2.0.04.txt \
  -O /usr/bin/ttytter

Говорим ttytter. При запуске программа выводит следующее приветствие:

Welcome to the most user-hostile, highly obfuscated, spaghetti code infested and obscenely obscure Twitter client that’s out there. You’ll love it.

О, да! Я в этом почти уверен.

Чтобы TTYtter получил доступ к вашему Twitter-аккаунту, нужно сделать следующее:

  1. Открываем в браузере ссылку, которую вывел TTYtter;
  2. Жмем кнопку «Авторизовать»;
  3. Копируем PIN-код в буфер обмена;
  4. Вводим PIN-код в TTYtter;

Если вы хотите использовать TTYtter на нескольких компьютерах, дважды проходить эту процедуру не нужно. Достаточно скопировать файл ~/.ttytterkey.

Теперь можно читать твиты из консоли:

TTYtter, консольный клиент для Twitter

Здесь я был вынужден уменьшить окно терминала так, чтобы оно уместилось по ширине поста. В обычных условиях все это хозяйство выглядит чуть более читаемо. Что непривычно — более новые твиты выводятся внизу, а не вверху. Обратите внимание, что все твиты и личные сообщения имеют коды, например e7 или f5. Это важно.

Работа с TTYtter производится с помощью следующих команд:

Команда Описание
Все, что не начинающееся с символа / Написать новый твит
/help или /? Краткая справка по командам
/refresh или
/r или
пустая строка
Показать новые твиты
/again или
/a [+N] [uname|lname]
Показать последние [N] твитов [заданного пользователя или из заданного списка]
/dm Показать новые личные сообщения
/dm username message Написать личное сообщение
/dmagain или /dma [+N] Показать последние [N] личных сообщений
/dmsent [+N] Показать последние [N] отправленных сообщений
/friends или
/frs [+N] [uname|lname]
Список тех, кого фоловишь ты или заданный пользователь
/follosers или
/fos [+N] [uname|lname]
Список тех, кто фоловит тебя или заданного пользователя
/block user Заблокировать пользователя
/unclock user Разблокировать пользователя
/re или /replies [+N] Показать список последний [N] ответов
/reply или
/re code message
Ответить на сообщение с заданным кодом (вот для чего они нужны!)
/favourite или
/fave или
/f code
Добавить твит в избранное
/unfavourite или
/unfave или
/unf code
Удалить твит из избранного
/favorites или
/faves или
/fl [+N] [username]
Показать [N] избранных твитов [заданного пользователя]
/lists [username] Показать списки [заданного пользователя]
/list [+N] listname Кто есть в заданном списке
/listfollow или
/lfollow listname
Зафоловить список
/listunfollow или
/lunfollow listname
Расфоловить список
/liston listname Добавить список во множество источников, из которых берутся обновления
/listoff listname Команда, обратная предыдущей
/whois или /w username Информация о пользователе
/wagain или
/wa [+N] username
Показать последние [N] твитов и информацию о пользователе
/follow username Зафоловить пользователя
/leave username Расфоловить пользователя
/search или
/se query|hashtag
Поиск
/trends или /tre Тренды
/thread или /th code Показать ветвь обсуждения по коду сообщения
/delete или /del code Удалить твит
/retweet или /rt code Ретвит сообщения
/oretweet или /ort code Ретвит в старом стиле «RT @username:», например, только так можно ретвитеть тех, чьи твиты скрыты от посторонних глаз
/url code Перейти по ссылке в заданном сообщении
/short или /sh url Прогнать ссылку через сокращалку
/vcheck Проверить наличие обновлений для TTYtter
/!cmd Выполнить внешнюю команду из TTYtter через Perl’овую функцию system()
/history или /h Список последних введенных команд
/quit Выйти из TTYtter

Самую подробную справку по командам вы можете найти на официальном сайте.

Помимо команд есть еще и ключи командной строки. Вот некоторые из них.

ttytter -ansi

Использовать цвета.

ttytter -status='Мой статус'

Отправить твит и завершить работу. Можно использовать это в скриптах.

ttytter -urlopen='chrome %U'

Какой браузер использовать при открытии ссылок.

ttytter -synch

Проверяет новые твиты и личные сообщения только после выполнения каких-то команд или нажатия Enter. По умолчанию новые сообщения проверяются постоянно и иногда выводятся во время набора нового твита. Это не очень удобно.

ttytter -timestamp='%d.%m.%Y %H:%M:%S'

В каком формате выводить время.

ttytter -readline=Term::ReadLine

Какой перловый модуль использовать для нормальной обработки нажатий Del, стрелочек и тп.

Чтобы не вводить ключи вручную каждый раз при запуске TTYtter, их можно прописать в файле ~/.ttytterrc в формате ключ=значение. Например:

ansi=1
synch=1
urlopen=chrome %U
timestamp=%d.%m.%Y %H:%M:%S
readline=Term::ReadLine

В целом, я вполне доволен TTYtter. Во многих отношениях он удобнее веб-интерфейса Twitter. Ну, хотя бы тем, что для работы с TTYtter не требуется использовать мышь.

Метки: , , , .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.