Как твитнуть с помощью терминала?


8

Я хотел бы написать сообщение с помощью терминала.

Я попробовал что-то вроде:

curl -u 'TwitterUsername':'TwitterPassword' -d status=”Your Message Here https://twitter.com/statuses/update.xml

но, кажется, это больше не работает.

Я получаю ошибку, подобную этой:

<?xml version="1.0" encoding="UTF-8"?>
    <errors>
    <error code="53">Basic authentication is not supported</error>
</errors>

Итак, как мы можем чирикать из терминала?

PS: моя мотивация заключается в том, что я часто пользуюсь терминалом Yakuake, и было бы здорово оттуда написать твит.

Ответы:


10

Это сообщение об ошибке связано с тем, что Twitter требует OAuth для аутентификации . Посмотрите на TTYtter, если вы не против приложения Perl:

Нееееет, не другой клиент Twitter! Да, еще один клиент Twitter. Разница в том, что вы имеете дело с многофункциональным, полностью 100% текстовым клиентом командной строки Perl.

  • В интерактивном режиме это полностью интерактивный клиент с асинхронными фоновыми обновлениями и командами. Используйте его через telnet, ssh или даже фиктивный терминал. Поддержка потокового API, цвета ANSI, UTF-8, хэштегов и поиска в Twitter!
  • Работает в вашей любимой среде: используйте совместимую библиотеку readline (например, наш собственный Term :: ReadLine :: TTYtter) или измените методы приглашения и ввода для многих популярных оконных и сессионных менеджеров. Или нет: встроенные функции редактирования и управления экраном.
  • Используйте его из командной строки, чтобы обновить ваш Twitter в сценариях оболочки, из cron и так далее.
  • Безопасность: поддерживает Twitter OAuth и HTTP Basic Authentication, а также SSL, где поддерживается вашим пользовательским агентом.
  • Поддержка уведомлений с Growl и libnotify (и распространяется на других через API).
  • Поддержка геолокации: передайте свои координаты GPS в TTYtter для любого приложения.
  • Поддержка списков, включая быстрое создание и изменение, а также объединение списков с вашей временной шкалой в виде «пользовательских временных шкал».
  • Поддерживает похожие на Twitter API, такие как StatusNet и Identi.ca.
  • Поддерживает стандартные временные шкалы, автоматически выбирает прямые сообщения и, при необходимости, отвечает / упоминает, выполняет запросы к API поиска и также включает их в вашу временную шкалу.
  • Новая и старая поддержка твитов.
  • Напишите и используйте свои собственные расширения!
  • Запустите обособленно в режиме -daemon и создайте своего собственного бота в Twitter!

TTYtter устарел. Развитие сейчас продолжается в развилке, oysttyer .


2
+1 за TTYtter. Я не большой поклонник Твиттера, но он определенно один из лучших клиентов. Плагин Irssi не так хорош, по сравнению с TTYtter.
Полемон

6

Попробуйте T . Очень мощный, простой в использовании и написанный на Ruby.

Например, вы можете твитнуть сообщения прямо из терминала, выполнив:

t update "I'm tweeting from the command line."

5

Обновление 2016

Существует проект под названием Twurl - curl с поддержкой OAuth для Twitter API:

Twurl похож на curl, но специально разработан для API Twitter. Он знает, как предоставить токен доступа клиентскому приложению для указанного пользователя, а затем подписать все запросы этим токеном доступа.

Он также предоставляет другие удобства разработки и отладки, такие как определение псевдонимов для общих запросов, а также поддержку маркеров множественного доступа для простого переключения между различными клиентскими приложениями и учетными записями Twitter.

Вместо этого из вопроса:

curl -d status="Your Message Here" https://twitter.com/statuses/update.xml

вы используете что-то вроде этого:

twurl -d status="Your Message Here" /1.1/statuses/update.json

после того, как вы авторизуетесь сначала, как описано в файле readme .

(обратите внимание, что вам не нужно использовать протокол и имя хоста в URL, как это было бы с curl)

Эта программа была первоначально написана Марселем Молиной, который в то время работал в Twitter, и теперь это официальный проект Twitter на GitHub.

Многие люди задаются вопросом, как использовать curl для использования API Twitter, и twurl, вероятно, ближе всего к curl, как вы можете получить сегодня.


2

Попробуй twidge.

sudo apt install twidge
twidge setup
twidge update "Trying tweeting from linux command line - twidge."

1
К сведению, версия Twidge в старых репозиториях (Debian Wheezy) использует устаревший API Twitter v1. Новая версия Twidge работает хорошо, хотя.
17

1

Взгляните на Rainbow Stream - умный / красивый и написанный на Python. Это обеспечивает радугу оболочки, которая может начаться

$ rainbowstream

и внутри приложения, обновление статуса довольно легко с

[@yourTwitterName]: t tweeting from #rainbowstream

Интересное ПО. Но не могли бы вы привести пример, как твитить прямо с консоли? Так как речь идет о твиттере прямо с консоли.
Рафаэль Аренс

1

Я создал клиент Twitter, который может твитнуть из командной строки, как указано в разделе « Рекомендации по программному обеспечению» .

Чирикать сообщение

java -jar EmailTweetor.jar tweet hello.txt

или

echo "Hello" | java -jar EmailTweetor.jar tweet

Чтобы чирикать с изображением:

java -jar EmailTweetor.jar tweet hello.txt image.jpg

EmailTweetor для рабочего стола

Компьютер, на котором запускается команда, должен иметь OpenJDK или Oracle Java v1.8 или более поздней версии. JAR также нуждается в одноразовой авторизации через Twitter.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.