Software
Linux Leert Twitteren
Supertweet
Het vorig jaar heeft Twitter hun API gewijzigd.
Om softwarematig tweets te versturen moet je nu gebruik maken van 0Auth.
En dat maakt het autoamtisch versturen van tweets een stuk lastiger.
Maar gelukkig heeft Supertweet hier een oplossing voor gevonden.
Dus, voordat je dit script kunt gebruiken moet je je Twitter account koppelen aan een Supertweet account. Maar dat is een fluitje van een cent. Het Autotweet Bash Script
#!/bin/bash
# Gebruik:
# autotweet genereer een willekeurige tweet
# autotweet 6 genereer tweet nummer 6
TWIT_USER="Twitter_naam"
TWIT_SECRET="supertweet_wachtwoord"
TWIT_URL="http://api.supertweet.net/1/statuses/update.xml"
NUM_TWEETS=10
# RAND=$[ ( $RANDOM % $NUM_TWEETS + 1 ) ]
SEED=$(head -c4 /dev/urandom | od -t u4 | awk '{ print $2 }')
RAND=$[ ( $SEED % $NUM_TWEETS + 1 ) ]
if [ $# -ne 0 ] ; then
RAND=$1
fi
case $RAND in
1) TWEET="Twittertje nummer 1";;
2) TWEET="Twittertje nummer 2";;
3) TWEET="Twittertje nummer 3";;
4) TWEET="Twittertje nummer 4";;
5) TWEET="Twittertje nummer 5";;
6) TWEET="Twittertje nummer 6";;
7) TWEET="Twittertje nummer 7";;
8) TWEET="Twittertje nummer 8";;
9) TWEET="Twittertje nummer 9";;
10) TWEET="Twittertje nummer 10";;
*) TWEET="Default twittertje voor als opgegeven tweet niet bestaat";;
esac
curl -u $TWIT_USER:$TWIT_SECRET -d "status=$TWEET" $TWIT_URL -s > /dev/null
Kopieer dit script en plak het in een bestandje met de naam autotweet of zo. Vergeet niet het bestandje executable te maken.
Voordat je dit script kunt gebruiken moet je er een aantal wijzigingen in aanbrengen.
Zo moet je de variabelen TWIT_USER en TWIT_SECRET nog voorzien van jouw account gegevens.
Dat zijn dus respectievelijk je Twitter user name en je Supertweet wachtwoord (dus niet je Twitter wachtwoord!).
Als je alle aanpassingen hebt gemaakt kun je gaan Twitteren. Uhm, ik bedoel, dan kan je server gaan twitteren. Elke keer als autotweet wordt aangeroepen wordt er een willekeurige tweet uit de lijst getwitterd. Je kunt er ook voor kiezen om autotweet 6 aan te roepen. In dat geval wordt de tweet met het nummer 6 getwitterd. Vul je daar een verkeerd nummer in, of iets wat nergens op slaat, dan wordt de default tweet getwitterd. Supertweet blokkeert gelijke tweetjes die te snel na elkaar verstuurd worden. Dus sta er niet versteld van dat je tijdens het testen niet alle tweets te zien krijgt die je verstuurd hebt. Update
De willekeurigheid van de twitters viel me een beetje tegen.
Dit wordt waarschijnlijk veroorzaakt omdat de tijd een belangrijke factor is bij het genereren van de waarde van $RANDOM in Bash.
En omdat autotweet elke dag op precies dezelfde tijd wordt aangeroepen kan het voor komen dat je drie dagen na elkaar de zelfde tweet voorbij ziet komen.
© 2010, San Bergmans, Oisterwijk, The Netherlands http://www.oeioei.nl |
|