Utilisateur:Violette

De {}
Aller à la navigation Aller à la recherche

Writing bot, Under the Simflouz tree

Sim1.png



Le simflouz tree est un arbre qui donne de l'argent quand on l'arrose dans les Sims 2. Ce bot pourrait récupérer des tweets qui contiennent l'expression "sous l'abre" et la remplacer par "under the simflouz tree".


from acces import *
import tweepy
import time
import json
 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

tweets = tweepy.Cursor(api.search, q='"sous l\'arbre" OR "sous un arbre"', tweet_mode='extended').items(1)
tweeet = ''

for tweet in tweets:
    tweeet = tweet


if hasattr(tweeet, 'retweeted_status'):
    tweetText = tweeet.retweeted_status.full_text
else:
    tweetText = tweeet.full_text



username = tweeet.user.screen_name

tweetText = tweetText.replace("sous l’arbre", "under the simflouz tree")
tweetText = tweetText.replace("sous l'arbre", "under the simflouz tree")
tweetText = tweetText.replace("sous un arbre", "under the simflouz tree")

print (tweetText)

le bot twitter poste le message modifié et cite le compte initial abonnez vous à moi : https://twitter.com/SimflouzT

Maintenant il faut trouver le moyen pour que le bot, à chaque fois qu'il soit lancé, passe en revue tout les tweets concernés, classe ceux qu'il a déjà traité et éxécute le programme pour les autres, de manière à ce qu'il soit autonome.

05.03,

from acces import *
import tweepy
import time
import json
 
    
def simflouzTree(tweeet):
    
   

    if hasattr(tweeet, 'retweeted_status'):
        tweetText = tweeet.retweeted_status.full_text
    else:
        tweetText = tweeet.full_text



    username = tweeet.user.screen_name

    tweetText = tweetText.replace("sous l’arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous l'arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous un arbre", "under the simflouz tree")
    tweetText = tweetText.replace("Sous l'arbre", "Under the simflouz tree")

    print (tweetText)
    #api.update_status(status='@' + username + ' ' + tweetText)
    #api.update_status(status=tweetText + ' ' + '@' + username)







    

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

file = open("dejatraite.json", "r")
txt = file.read()

ids = json.loads(txt)


tweets = tweepy.Cursor(api.search, q='"sous l\'arbre" OR "sous un arbre"', tweet_mode='extended').items(1)
tweeet = ''

for tweet in tweets:
    tweeet = tweet




tweetID = tweeet.id


if tweetID in ids:
    print (tweetID)

if tweetID not in ids:
    print('pas là')
    simflouzTree(tweeet)
    file = open ("dejatraite.json", "w")
    ids.append(tweetID)
    
    txt = json.dumps(ids)
    
    file.write(txt)
    file.close()

Maintenant il faut le faire tourner tout seul régulièrement sans que je sois là

23.04

from acces import *
import tweepy
import time
import json
import datetime
import time
 
 
def simflouzTree(tweeet):
 
 
 
    if hasattr(tweeet, 'retweeted_status'):
        tweetText = tweeet.retweeted_status.full_text
    else:
        tweetText = tweeet.full_text
 
 
 
    username = tweeet.user.screen_name
 
    tweetText = tweetText.replace("sous l’arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous l'arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous un arbre", "under the simflouz tree")
    tweetText = tweetText.replace("Sous l'arbre", "Under the simflouz tree")
    tweetText = tweetText.replace("Sous un arbre", "Under the simflouz tree")
 
    print (tweetText)
    #api.update_status(status='@' + username + ' ' + tweetText)
    api.update_status(status=tweetText + ' ' + '@' + username)
 
 
 
 
 
 
 
 
 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
 
api = tweepy.API(auth)
 
file = open("frequence.txt", "r")
derniere_execution = file.read()
 
moment1 = datetime.strptime(derniere_execution, '%Y-%m-%d %H-%M-%S.%f')
moment2 = datetime.datetime.now()
print(moment1)
 
 
delai = moment2-moment1
print(delai.total_seconds())
 

if delai.total_seconds() > 86400:
    print('ok')
    file = open ("frequence.txt", "w")
    
    file.write(moment2)
    file.close()
    
    file = open("dejatraite.json", "r")
    txt = file.read()
     
    ids = json.loads(txt)
     
     
    tweets = tweepy.Cursor(api.search, q='"sous l\'arbre" OR "sous un arbre"', tweet_mode='extended').items(1)
    tweeet = ''
     
    for tweet in tweets:
        tweeet = tweet
     
     
     
     
    tweetID = tweeet.id
     
     
    if tweetID in ids:
        print (tweetID)
        print (tweetText)
     
    if tweetID not in ids:
        print('pas là')
        simflouzTree(tweeet)
        file = open ("dejatraite.json", "w")
        ids.append(tweetID)
     
        txt = json.dumps(ids)
     
        file.write(txt)
        file.close()

04.05

j'ai rajouté un import from datetime import datetime.

from acces import *
import tweepy
import time
import json
import datetime
import time
from datetime import datetime
 
def simflouzTree(tweeet):
 
 
 
    if hasattr(tweeet, 'retweeted_status'):
        tweetText = tweeet.retweeted_status.full_text
    else:
        tweetText = tweeet.full_text
 
 
 
    username = tweeet.user.screen_name
 
    tweetText = tweetText.replace("sous l’arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous l'arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous un arbre", "under the simflouz tree")
    tweetText = tweetText.replace("Sous l'arbre", "Under the simflouz tree")
    tweetText = tweetText.replace("Sous un arbre", "Under the simflouz tree")
 
    print (tweetText)
    #api.update_status(status='@' + username + ' ' + tweetText)
    api.update_status(status=tweetText + ' ' + '@' + username)
 
 
 
 
 
 
 
 
 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
 
api = tweepy.API(auth)
 
file = open("frequence.txt", "r")
derniere_execution = file.read()
 
moment1 = datetime.strptime(derniere_execution, '%Y-%m-%d %H-%M-%S.%f')
moment2 = datetime.datetime.now()
print(moment1)
 
 
delai = moment2-moment1
print(delai.total_seconds())
 
 
if delai.total_seconds() > 86400:
    print('ok')
    file = open ("frequence.txt", "w")
 
    file.write(moment2)
    file.close()
 
    file = open("dejatraite.json", "r")
    txt = file.read()
 
    ids = json.loads(txt)
 
 
    tweets = tweepy.Cursor(api.search, q='"sous l\'arbre" OR "sous un arbre"', tweet_mode='extended').items(1)
    tweeet = ''
 
    for tweet in tweets:
        tweeet = tweet
 
 
 
 
    tweetID = tweeet.id
 
 
    if tweetID in ids:
        print (tweetID)
        print (tweetText)
 
    if tweetID not in ids:
        print('pas là')
        simflouzTree(tweeet)
        file = open ("dejatraite.json", "w")
        ids.append(tweetID)
 
        txt = json.dumps(ids)
 
        file.write(txt)
        file.close()

07.05

j'ai modifié la partie qui permet de rentrer une date selon un format spécifique grâce au code de Zoé. Mais nouveau problème avec le date time : "AttributeError: type object 'datetime.datetime' has no attribute 'datetime'"

from acces import *
import tweepy
import time
import json
import datetime
import time
from datetime import datetime
 
def simflouzTree(tweeet):
 
 
 
    if hasattr(tweeet, 'retweeted_status'):
        tweetText = tweeet.retweeted_status.full_text
    else:
        tweetText = tweeet.full_text
 
 
 
    username = tweeet.user.screen_name
 
    tweetText = tweetText.replace("sous l’arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous l'arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous un arbre", "under the simflouz tree")
    tweetText = tweetText.replace("Sous l'arbre", "Under the simflouz tree")
    tweetText = tweetText.replace("Sous un arbre", "Under the simflouz tree")
 
    print (tweetText)
    #api.update_status(status='@' + username + ' ' + tweetText)
    api.update_status(status=tweetText + ' ' + '@' + username)
 
 
 
 
 
 
 
 
 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
 
api = tweepy.API(auth)

file = open("frequence.txt", "r")
derniere_execution = file.read()
 
moment_2 = datetime.datetime.now()
 
 
if derniere_execution != '':
    moment_1 = datetime.datetime.strptime(derniere_execution, '%Y-%m-%d %H:%M:%S.%f')
    delai = moment_1-moment_2
    delai = delai.total_seconds()
else:
    delai = 0
 
 
if delai > 86400 or delai == 0 : 


    file = open("frequence.txt", "w")
    file.write(moment_2.strftime('%Y-%m-%d %H:%M:%S.%f'))
    file.close
 
file = open("dejatraite.json", "r")
txt = file.read()
 
ids = json.loads(txt)
 
 
tweets = tweepy.Cursor(api.search, q='"sous l\'arbre" OR "sous un arbre"', tweet_mode='extended').items(1)
tweeet = ''
 
for tweet in tweets:
        tweeet = tweet
 
 
 
 
tweetID = tweeet.id
 
 
if tweetID in ids:
    print (tweetID)
    print (tweetText)
 
if tweetID not in ids:
    print('pas là')
    simflouzTree(tweeet)
    file = open ("dejatraite.json", "w")
    ids.append(tweetID)
 
    txt = json.dumps(ids)
 
    file.write(txt)
    file.close()
from acces import *
import tweepy
import time
import json
import datetime
import time
 
def simflouzTree(tweeet):

 
    if hasattr(tweeet, 'retweeted_status'):
        tweetText = tweeet.retweeted_status.full_text
    else:
        tweetText = tweeet.full_text

    username = tweeet.user.screen_name
 
    tweetText = tweetText.replace("sous l’arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous l'arbre", "under the simflouz tree")
    tweetText = tweetText.replace("sous un arbre", "under the simflouz tree")
    tweetText = tweetText.replace("Sous l'arbre", "Under the simflouz tree")
    tweetText = tweetText.replace("Sous un arbre", "Under the simflouz tree")
 
    print (tweetText)
    #api.update_status(status='@' + username + ' ' + tweetText)
    api.update_status(status=tweetText + ' ' + '@' + username)
 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
 
api = tweepy.API(auth)
 
file = open("frequence.txt", "r")
derniere_execution = file.read()
 
moment_2 = datetime.datetime.now()
 
 
if derniere_execution != '':
    moment_1 = datetime.datetime.strptime(derniere_execution, '%Y-%m-%d %H:%M:%S.%f')
    delai = moment_2-moment_1
    delai = delai.total_seconds()
else:
    delai = 0
 
 
if delai > 86400 or delai == 0 : 
 
 
  file = open("frequence.txt", "w")
  file.write(moment_2.strftime('%Y-%m-%d %H:%M:%S.%f'))
  file.close
   
  file = open("dejatraite.json", "r")
  txt = file.read()
   
  ids = json.loads(txt)
   
   
  tweets = tweepy.Cursor(api.search, q='"sous l\'arbre" OR "sous un arbre"', tweet_mode='extended').items(1)
  tweeet = ''
   
  for tweet in tweets:
          tweeet = tweet
   
   
   
   
  tweetID = tweeet.id
   
   
  if tweetID in ids:
      print (tweetID)
      print (tweetText)
   
  if tweetID not in ids:
      print('pas là')
      simflouzTree(tweeet)
      file = open ("dejatraite.json", "w")
      ids.append(tweetID)
   
      txt = json.dumps(ids)
   
      file.write(txt)
      file.close()

réactions au bot

Sim4.png

En général, les gens aiment ou retweetent. J'ai été bloquée une fois

Sim2.png

Sim3.png

programme de poète loup garou

Un programme qui

- demande le nom de l'utilisateur qui sera enregistré comme nom de poète

- rajoute aouuuu quand il y a a lettre a

- rajoute grrrrrrrrrr quand il y a la lettre g

résolution de l'énoncé de Gesine

with open('poetry','r') as lecture:
    poyeme = lecture.read()

poyeme = poyeme.replace("o", "0")
poyeme = poyeme.replace ("i", "1")

print(poyeme)
#!/usr/bin/env python
#coding: utf-8
'''Un programme qui
- demande le nom de l'utilisateur qui sera enregistré comme nom de poète
- rajoute aouuuu quand il y a a lettre a
- rajoute grrrrrrrrrr quand il y a la lettre g '''

print("Quel est ton nom, poète.esse ?")
nom = raw_input()

import re

f= open("poeme.txt", "r+")

poeme = f.read()

#poeme = re.sub('a', "aouuuu", poeme)
poeme = re.sub('([aA])', r"\1ouuuu", poeme)
poeme = re.sub('([gG])', r"\1rrrrrrrrrr", poeme)

nom = re.sub('([aA])', r"\1ouuuu", nom)
nom = re.sub('([gG])', r"\1rrrrrrrrrr", nom)
print(poeme)
print("Signé, " + nom + " le loup grrrrrrrrrraouuuurou")

f.close()