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.