[PYTHON] Calculez approximativement le temps de sommeil estimé en fonction du temps d'utilisation de Twitter

Oui. Si vous le cherchez, je pense que c'est dans un doko comme celui-ci, mais d'une manière ou d'une autre, je voulais le faire moi-même.

Environnement et utilisation supposés Calculez en fonction du temps que vous avez reçu en lançant bonjour / bonne nuit avec @ de votre compte Twitter principal au compte du robot de corvée.

jikan.py



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

from urllib import urlencode
import re
import random
import datetime
import tweepy
import oat #Je stocke des jetons OAuth pour ma fonction de bot

jikan = datetime.datetime.now()
#Il s’agit de cela, de l’équilibrer avec l’intervalle mobile.
#Je me demande s'il y a des omissions.
tl = oat.api.mentions_timeline()
for i in range(1,5):
    tll=tl[i].text
    if re.search(u'@xxx bonne nuit', 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 = 'Je vous remercie pour votre travail acharné. Bonne nuit{0:02d}Temps{0:02d}Je l'ai réglé en quelques minutes.'.format(jikan.hour, jikan.minute)
        tane = 'Je vous remercie pour votre travail acharné. Bonne nuit%temps de s%Je l'ai réglé dans environ s minutes.' % (str(jk.hour+9), str(jk.minute))
        i+=5
    elif re.search(u'@xxx bonjour', 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 = 'Bonjour. Temps de sommeil estimé à partir de la différence d'utilisation de Twitter%Il s'agit de l'art.' % str(sabun)
        break
    else: pass

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

Oui, les noms de variables sont également appropriés et tout est compliqué. J'ai essayé d'ajuster la différence de temps de sommeil estimé, mais cela n'a pas fonctionné, alors j'ai abandonné. Je peux utiliser immédiatement la différence entre les jours en jours et la différence en secondes en secondes, mais je ne peux que penser à savoir s'il faut calculer l'heure et les minutes séparément ou les convertir avec str et les supprimer avec une mise en forme ou des expressions régulières. .. Puisque le but est uniquement de calculer le temps, je prévois de faire des corrections en l'utilisant pour le moment.

À propos de la prévention du même message http://qiita.com/clarinet758/items/2a2f2ed176a5b25ae0d2

2013/11/28 Version modifiée incluant la prévention du même message

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'Mon pseudo'
bot=u'Nom d'écran du robot'
oya=re.compile(u'Bonne nuit')
otu=re.compile(u'Je vous remercie pour votre travail acharné')
you=re.compile(u'Bonjour')
oha=re.compile(u'Différence d'utilisation')
kanri='/xxx/kanri.txt'
## template
neru = u'@%s @%s Merci pour votre travail acharné. Lit dans%temps de s%Je l'ai réglé dans environ s minutes.'
kisy = u'@%s @%s Bonjour! Bonjour! Êtes-vous là? Mabushi! Mabushi! Temps de sommeil estimé à partir de la différence d'utilisation de Twitter%Il s'agit de l'art.'

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

#Bonne nuit
#Si je dis bonne nuit, c'est une action temporaire. Dites merci pour votre travail acharné ou dites-le et quittez.
        if oya.search(tex) and men == aut:
#Lorsque la bonne nuit arrive, sautez l'heure de publication et écrivez dans le fichier de gestion
#C'est inutile parce que je réécris chaque fois que je dors, donc je vais l'améliorer à partir de la prochaine fois
#À l'origine ici
            jk = tll[i].created_at

            jkhour=jk.hour+9
            if jkhour>23: jkhour=jkhour-24
            tane = neru % (aut, bot, str(jkhour), str(jk.minute))
#Quand la bonne nuit arrive, partez à la recherche de nouveaux arrivants
            m=i
            while m>=0:
                chk=tll[m].text
                if otu.search(chk):
                    break
                else:
                    m,i = m-1,i-1
#Si vous allez voir les nouveaux arrivants de bonne nuit et que vous n'êtes pas fatigué, je-Devrait être 1
            if i<0:
                t = open(kanri, 'w')
                t.write(str(jk))
                t.close()
                jkhour=jk.hour+9
                if jkhour>23: jkhour-=24
###J'ai également jeté la méthode tweet dans le jeton OAuth
#                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
#Ajoutez i pour mettre fin de force à la recherche.
            i=10

#Bonjour
        elif you.search(tex) and men == aut:
            f = open(kanri, 'r')
            line = f.read()
#Bonjour, omettez l'heure de publication et calculez le temps de différence à partir du journal de bonne nuit
            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:
#Quitter lorsque la différence d'utilisation atteint
                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'
#Si vous n'avez ni bonne nuit ni bonjour, ajoutez i et allez voir les anciens messages
            i+=1

Par le passé, nous avons traité un problème qui se répète en un jour. L'instruction de tweeter a été jetée dans le même fichier avec la gestion des jetons OAuth. Maintenant, même si l'URL pour tweeter change en raison de changements d'API, il n'est pas nécessaire de la réécrire ici et là. Les noms de variables sont toujours sales. J'ai essayé de faire dire aux gens 3 heures au lieu de 27 heures.

Recommended Posts

Calculez approximativement le temps de sommeil estimé en fonction du temps d'utilisation de Twitter
Publier le sujet de Gmail sur Twitter
Renommer en fonction de l'heure de modification du fichier (Linux)