TTYtter — консольный Twitter-клиент на Perl
12 декабря 2012
Я тут в свободное время решил провести небольшое исследование на предмет существования консольных клиентов для Twitter. К моему изумлению, их оказалось великое множество. Наиболее удачным мне показался клиент под названием TTYtter, о котором мне и хотелось бы поведать.
Установка TTYtter под FreeBSD:
Установка под Debian:
Самую свежую на момент написания этих строк версию можно поставить так:
-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-аккаунту, нужно сделать следующее:
- Открываем в браузере ссылку, которую вывел TTYtter;
- Жмем кнопку «Авторизовать»;
- Копируем PIN-код в буфер обмена;
- Вводим PIN-код в TTYtter;
Если вы хотите использовать TTYtter на нескольких компьютерах, дважды проходить эту процедуру не нужно. Достаточно скопировать файл ~/.ttytterkey.
Теперь можно читать твиты из консоли:
Здесь я был вынужден уменьшить окно терминала так, чтобы оно уместилось по ширине поста. В обычных условиях все это хозяйство выглядит чуть более читаемо. Что непривычно — более новые твиты выводятся внизу, а не вверху. Обратите внимание, что все твиты и личные сообщения имеют коды, например 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 |
Самую подробную справку по командам вы можете найти на официальном сайте.
Помимо команд есть еще и ключи командной строки. Вот некоторые из них.
Использовать цвета.
Отправить твит и завершить работу. Можно использовать это в скриптах.
Какой браузер использовать при открытии ссылок.
Проверяет новые твиты и личные сообщения только после выполнения каких-то команд или нажатия Enter. По умолчанию новые сообщения проверяются постоянно и иногда выводятся во время набора нового твита. Это не очень удобно.
В каком формате выводить время.
Какой перловый модуль использовать для нормальной обработки нажатий Del, стрелочек и тп.
Чтобы не вводить ключи вручную каждый раз при запуске TTYtter, их можно прописать в файле ~/.ttytterrc в формате ключ=значение. Например:
synch=1
urlopen=chrome %U
timestamp=%d.%m.%Y %H:%M:%S
readline=Term::ReadLine
В целом, я вполне доволен TTYtter. Во многих отношениях он удобнее веб-интерфейса Twitter. Ну, хотя бы тем, что для работы с TTYtter не требуется использовать мышь.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.