[PYTHON] Berechnen Sie die geschätzte Schlafzeit grob basierend auf der Nutzungszeit von Twitter

Ja. Wenn du danach suchst, denke ich, dass es in einem Doko wie diesem ist, aber irgendwie wollte ich es selbst machen.

Angenommene Umgebung und Nutzung Berechnen Sie basierend auf der Zeit, die Sie erhalten haben, indem Sie guten Morgen / gute Nacht mit @ von Ihrem Twitter-Hauptkonto auf das Job-Bot-Konto werfen.

jikan.py



#!/usr/bin/env python
# -*- coding:UTF-8 -*-

from urllib import urlencode
import re
import random
import datetime
import tweepy
import oat #Ich speichere OAuth-Token für meine Bot-Funktion

jikan = datetime.datetime.now()
#Es geht darum, es mit dem Bewegungsintervall auszugleichen.
#Ich frage mich, ob es irgendwelche Auslassungen gibt.
tl = oat.api.mentions_timeline()
for i in range(1,5):
    tll=tl[i].text
    if re.search(u'@xxx Gute Nacht', tll):
        jk =  tl[i].created_at
#        jk = jikan.strftime('%Y/%m/%d %H:%M:%S')
        t = open('/kanri.txt', 'w')
        t.write(str(jk))
        t.close()
#        tane = 'Danke für deine harte Arbeit. Gute Nacht{0:02d}Zeit{0:02d}Ich habe es in Minuten eingestellt.'.format(jikan.hour, jikan.minute)
        tane = 'Danke für deine harte Arbeit. Gute Nacht%s Zeit%Ich habe es in ungefähr s Minuten eingestellt.' % (str(jk.hour+9), str(jk.minute))
        i+=5
    elif re.search(u'@xxx Guten Morgen', tll):
        f = open('/kanri.txt', 'r')
        line = f.read()
        jk = tl[i].created_at
        sabun = jk- datetime.datetime.strptime(line, "%Y-%m-%d %H:%M:%S") 
        f.close()
        tane = 'Guten Morgen. Geschätzte Schlafzeit aufgrund des Unterschieds bei der Twitter-Nutzung%Es geht um s.' % str(sabun)
        break
    else: pass

oat.client.request('https://api.twitter.com/1.1/statuses/update.json', 'POST', urlencode({'status': tane}))

Ja, die Variablennamen sind auch angemessen und alles ist chaotisch. Ich habe versucht, den Unterschied in der geschätzten Schlafzeit anzupassen, aber es hat nicht funktioniert, also habe ich aufgegeben. Ich kann den Unterschied zwischen Tagen in Tagen und den Unterschied in Sekunden in Sekunden sofort verwenden, aber ich kann mir nur vorstellen, ob ich Stunde und Minute getrennt berechnen oder mit str umwandeln und mit Formatierung oder regulären Ausdrücken entfernen soll. .. Da der Zweck nur darin besteht, die Zeit zu berechnen, plane ich, vorerst Korrekturen vorzunehmen, während ich sie verwende.

Über die Verhinderung des gleichen Beitrags http://qiita.com/clarinet758/items/2a2f2ed176a5b25ae0d2

2013/11/28 Geänderte Version einschließlich Verhinderung des gleichen Beitrags

op.py


#!/usr/bin/env python
# -*- coding:UTF-8 -*-
import urllib2
import lxml.html
from urllib import urlencode
import re
import random
import oat
import datetime
import tweepy
import json

y = datetime.datetime.now()
tll = oat.api.mentions_timeline()

## word
aut=u'Mein Bildschirmname'
bot=u'Bot Bildschirmname'
oya=re.compile(u'Gute Nacht')
otu=re.compile(u'Danke für deine harte Arbeit')
you=re.compile(u'Guten Morgen')
oha=re.compile(u'Nutzungsunterschied')
kanri='/xxx/kanri.txt'
## template
neru = u'@%s @%s Vielen Dank für Ihre harte Arbeit. Bett in%s Zeit%Ich habe es in ungefähr s Minuten eingestellt.'
kisy = u'@%s @%s Guten Morgen! guten Morgen! Bist du dort? Mabushi! Mabushi! Geschätzte Schlafzeit aufgrund des Unterschieds bei der Twitter-Nutzung%Es geht um s.'

def suimin():
    i=0
    while i < 4:
        tex = tll[i].text
        men = tll[i].author.screen_name

#Guter Nachtmodus
#Wenn ich gute Nacht sage, ist es eine vorübergehende Aktion. Sagen Sie Danke für Ihre harte Arbeit oder sagen Sie es und beenden Sie.
        if oya.search(tex) and men == aut:
#Wenn eine gute Nacht kommt, überspringen Sie die Buchungszeit und schreiben Sie in die Verwaltungsdatei
#Es ist nutzlos, weil ich die Zeit jedes Mal neu schreibe, wenn ich schlafe, also werde ich sie ab dem nächsten Mal verbessern
#Ursprünglich hier
            jk = tll[i].created_at

            jkhour=jk.hour+9
            if jkhour>23: jkhour=jkhour-24
            tane = neru % (aut, bot, str(jkhour), str(jk.minute))
#Wenn gute Nacht kommt, suchen Sie nach Neuankömmlingen
            m=i
            while m>=0:
                chk=tll[m].text
                if otu.search(chk):
                    break
                else:
                    m,i = m-1,i-1
#Wenn Sie von guter Nacht zu Neuankömmlingen gehen und Sie nicht müde sind, ich-Sollte 1 sein
            if i<0:
                t = open(kanri, 'w')
                t.write(str(jk))
                t.close()
                jkhour=jk.hour+9
                if jkhour>23: jkhour-=24
###Ich habe auch die Tweet-Methode in das OAuth-Token geworfen
#                oat.client.request('https://api.twitter.com/1.1/statuses/update.json', 'POST', urlencode({'status': tane.encode('utf-8')}))
                message = tane.encode('utf-8')
                oat.tweet(message)
            else:
                break
#Fügen Sie i hinzu, um die Suche zwangsweise zu beenden.
            i=10

#Guten Morgen
        elif you.search(tex) and men == aut:
            f = open(kanri, 'r')
            line = f.read()
#Guten Morgen, lassen Sie die Buchungszeit weg und berechnen Sie die Differenzzeit aus dem Protokoll der guten Nacht
            jk = tll[i].created_at
            sabun = jk- datetime.datetime.strptime(line, "%Y-%m-%d %H:%M:%S") 
            f.close()
            tane = kisy % (aut, bot, str(sabun))
            m=i
            while m>=0:
#Beenden Sie, wenn der Nutzungsunterschied auftritt
                chk=tll[m].text
                if oha.search(chk):
                    break
                else:
                    m,i = m-1,i-1
            if i<0:
                message = tane.encode('utf-8')
                oat.tweet(message)
            else:
                break
            i=10
        else:
#            print 'no hit'
#Wenn Sie keine gute Nacht oder keinen guten Morgen haben, fügen Sie i hinzu und gehen Sie, um alte Beiträge zu sehen
            i+=1

In der Vergangenheit haben wir uns mit einem Problem befasst, das sich an einem Tag wiederholt. Die Anweisung zum Twittern wurde zusammen mit der OAuth-Token-Verwaltung in dieselbe Datei geworfen. Selbst wenn sich die URL zum Twittern aufgrund von API-Änderungen ändert, muss sie hier und da nicht neu geschrieben werden. Die Variablennamen sind immer noch schmutzig. Ich habe versucht, die Leute dazu zu bringen, 3 Uhr statt 27 Uhr zu sagen.

Recommended Posts

Berechnen Sie die geschätzte Schlafzeit grob basierend auf der Nutzungszeit von Twitter
Veröffentlichen Sie das Thema Google Mail auf Twitter
Umbenennen basierend auf der Änderungszeit der Datei (Linux)