Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:shacklaf

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

project:shacklaf [2012-05-18 03:36] (aktuell)
93.231.180.130 angelegt
Zeile 1: Zeile 1:
 +====== Shacklaf ======
 +{{tag>​project software process infrastructure computing social howto  }}
  
 +shacklaf ist der [[https://​twitter.com/#​!/​shack_laf|twitter-account]] des Lost and Found Tisches im shackspace.
 +Er nimmt eine Direct Message entgegen und postet sie aufgehuebscht auf die Mitglieder Mailingliste.
 +
 +===== Wie benutze ich es? =====
 +
 +Erstmal musst du den [[https://​twitter.com/#​!/​shack_laf|twitter-account]] dazu bekommen dir zu folgen, dazu fragst du am besten momo, das geht leider noch nicht automagisch.
 +
 +Sobald dir der Account folgt schickst du ihm eine Direct Message (DM) mit einer einfachen beschreibung des Gegenstands (z.B. Regenschirm) und einem Link zum Foto des Objekts.
 +Schon ist die Magie geschehen, und der Account postet es automagisch auf die Mitglieder Mailingliste.
 +
 +===== Mein Twitterclient ist kacke =====
 +
 +Diverse Twitterclients unterstuetzen keine DMs mit Bildern im Anhang, doch du kannst ihn austricksen indem du einen normalen Tweet schreibst, und ein Bild anhaengst.
 +Beispiel: <​code>​d shack_laf Regenschirm</​code>​
 +
 +===== Kudos =====
 +
 +Jan: fuer die Idee\\
 +momo: fuer den Code
 +
 +===== Code =====
 +<​code>​
 +import time
 +import smtplib
 +from email.mime.text import MIMEText
 +
 +#initiate twitter API
 +api = twitter.Api()
 +api = twitter.Api(
 +    consumer_key='​XXXX',​
 +    consumer_secret='​XXXX',​
 +    access_token_key='​XXXX',​
 +    access_token_secret='​XXXX'​)
 +
 +newest_dm = ''​
 +#check for direct messages
 +def update_dms():​
 +    global newest_dm
 +    fetched_dms = api.GetDirectMessages()
 +    current_newest_dm = fetched_dms[0]
 +    if newest_dm == ''​ :
 +        print '​initialized!'​
 +        newest_dm = current_newest_dm
 +    elif newest_dm != current_newest_dm:​
 +        print 'new dm!'
 +        #print current_newest_dm.text
 +        newest_dm = current_newest_dm
 +        send_email()
 +    else:
 +        print 'No Update'​
 +        ​
 +def compose_message():​
 +    msg = newest_dm.sender_screen_name+"​[0]:​\n"​+newest_dm.text+"​\n\nVon dem abgebildetem Gegenstand sind Zweck oder Besitzer unbekannt, bitte hilf bei der Identifizierung.\n\n[0] angegeben ist der Twitter Account (https://​twitter.com/#​!/"​+newest_dm.sender_screen_name+"​)"​
 +    return msg
 +    ​
 +def send_email():​
 +    sender = '​lost_and_found@mo2-systems.com'​
 +    recipient = '​mitglieder@lists.shackspace.de'​
 +    msg = MIMEText(compose_message())
 +    msg['​Subject'​] = "[Lost and Found] "​+newest_dm.text
 +    msg['​From'​] = sender
 +    msg['​To'​] = recipient
 +    #debug
 +    #print msg
 +    s = smtplib.SMTP('​localhost'​)
 +    s.sendmail(sender,​ recipient, msg.as_string())
 +    s.quit()
 +    return msg
 +    ​
 +    ​
 +    ​
 +        ​
 +while True:
 +    update_dms()
 +    time.sleep(30)
 +</​code>​
project/shacklaf.txt · Zuletzt geändert: 2012-05-18 03:36 von 93.231.180.130