Kommandozeilen-Twitter
(Weitergeleitet von Twitter per Kommandozeile)
| Kommandozeilen-Twitter | |
|---|---|
| Twittern mit der Konsole. | |
| Status | Läuft |
| OrganisatorIn | MyJP |
| InteressentInnen | |
| Bemerkungen | Neue Version mit OAuth. |
| Version | 1.0 |
Dieser Twitter-Client ermöglicht es über die Konsole zu twittern. Er ist in Python geschrieben und unterstützt mehrere Accounts, die durch die Eingabe ausgewählt werden.
Inhaltsverzeichnis |
Quellcode
#!/usr/bin/env python # -*- coding: utf-8 -*- # Easy console-based twitter client for multiple twitter accounts. accounts = """ [dummy1] access_token=25698449r-984jf948hf9849fnm9348f9348h9834ut9834t34 access_token_secret=04oi9jr03498ru0349ur0349ur0394ur0934u09ir4 consumer_key=983jur09438r498ujrr consumer_secret=34t45zr5g6zg56ugr677g6r7gugg7gr6ugr67ur67r6i [dummy2] access_token=43fcsrggb-ijmvordthpoekmrpgokcc903gz4r8f7gzr4z7fgz access_token_secret=f74fhf83jfjf8w9fhwef98hwe9fhwefhwe98fh9whf consumer_key=9ih9ehfnnsdifz83ifz consumer_secret=hw987erhf9wehfn9se87fhz9w8ehfsdneiugwoieg7bh """ import sys import StringIO import ConfigParser import re try: import tweepy except ImportError: print "[Error] You need Tweepy to run tweet.py, see http://code.google.com/p/tweepy/." sys.exit(1) accountsIO = StringIO.StringIO(accounts) accounts = ConfigParser.RawConfigParser() accounts.readfp(accountsIO) if len(accounts.sections()) == 0: print "[Error] No accounts found." sys.exit(1) def printUsage(): print """Tweet: tweet.py [account] [tweet] (max. 140 characters, use "" for the tweet)""" availableAccounts = """Accounts: """ for i in range(0, len(accounts.sections())): availableAccounts = availableAccounts + accounts.sections()[i] if i < len(accounts.sections()) - 1: availableAccounts = availableAccounts + ", " print availableAccounts if len(sys.argv) not in [3]: printUsage() sys.exit(1) def isPermittedTwittername(twittername): check = False for accountname in accounts.sections(): if accountname == twittername: check = True return check def twitterAuth(account): auth = tweepy.OAuthHandler(accounts.get(account,"consumer_key"), accounts.get(account, "consumer_secret")) auth.set_access_token(accounts.get(account,"access_token"), accounts.get(account,"access_token_secret")) api = tweepy.API(auth) return api def main(): if len(sys.argv) == 3 and isPermittedTwittername(sys.argv[1]): if len(sys.argv[2]) <= 140: twitter = twitterAuth(sys.argv[1]) try: twitter.update_status(sys.argv[2]) except tweepy.error.TweepError, e: print "[Error] " + str(e) + " (1)" else: print "[Error] Tweet too long (" + str(len(sys.argv[2])) + " characters)." sys.exit(1) else: printUsage() sys.exit(1) if __name__ == "__main__": main()
Benutzung
- Einrichtung
- Quellcode in eine Textdatei mit dem Namen tweet.py kopieren.
- OAuth-Daten und Namen der Dummy-Accounts durch eigene ersetzen.
- Gegebenenfalls bash-alias einrichten:
alias tweet='python /home/user/.../tweet.py'
- Twittern:
python tweet.py [Accountname] "[Tweet]"
History
- Urversion von Basti
- Arkay3 hatte Schwierigkeiten mit dem Zertifikat und hat daher wget durch curl ersetzt
- Identi.ca-Version von Arkay3
- Funktionalität der Pfeiltasten bei Nachrichten-/Passworteingabe wiederhergestellt
- Variante für 2 Twitter-Accounts von MyJP
- Python-Version mit OAuth-Unterstützung von MyJP
Alternativen
- Twidge
- Erster Start:
twidge setup
- Letzte Tweets:
twidge lsrecent
- Nur ungelesene Tweets:
twidge lsrecent -su
- Erster Start:
- Irssi-Script