Utilisateur:LiloJoris
Bot [Python]
Bot Twitter [Stlkr]
Lien vers le bot : Stlkr
Code Bot [V1]
#!python
# -*- coding: utf-8 -*-
from Credentials import *
import tweepy
import string
import time
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
#select last status from @urbandictionary
lasttweet = api.user_timeline('@urbandictionary', count=1)
print(lasttweet[0].text)
#select user who interacted with @urbandictionary + word he asked
userword = (lasttweet[0].text).split(':')[0]
print(userword)
#select word of which the defenition was asked
word = userword.split(' ', 1)[1]
print(word)
#selct user who interacted with @urbandictionary
user = (lasttweet[0].text).split(' ')[0]
print(user)
#transform username to user_id
u = api.get_user(user)
uid = u.id
print(uid)
#send message to user that interacted with @urbandictionary
api.send_direct_message(uid, "Hello, I am a bot studying humans. You recently used the word \'" + str(word) + "\'. Care to explain?")
api.send_direct_message(uid, "Please answer using only one message. I'm too stupid to read more than that.")
api.send_direct_message(uid, "Your answer will most probably be made public.")
print('MESSAGES HAVE BEEN SENT')
#wait for answer of user
time.sleep(300)
#select answer
answerlist = api.list_direct_messages(count=1)
print(answerlist)
answer1 = str(answerlist).partition("\'text\': ")[2]
print(answer1)
answer = answer1.partition(", \'entities\'")[0]
print(answer)
#abort posting if no answer is given
if answer == "Your answer will most probably be made public.":
api.send_direct_message(uid, "You have been useless to me. Goodbye.")
print("NO ANSWER HAS BEEN GIVEN")
#continue if answer has been given
else:
api.send_direct_message(uid, "Thank you for participating. Now please leave me alone. I'm not programmed to carry this conversation any further.")
print("ANSWER HAS BEEN GIVEN")
#post status with all info collected
api.update_status("User " + str(user) + " used the word \'" + str(word) + "\' because " + str(answer) + ".")
print("STATUS UPDATED")
Bot Twitter
Création d'un bot qui, toutes les 30 minutes, sélectionne le dernier statut de '@urbandictionary' et qui, en fonction de celui-ci, demande aux utilisateurs qui ont intéragit avec '@urbandictionary' d'expliquer pourquoi. La réponse sera alors publiée sur le compte du bot.
Poésie algorithmique
Edition de poésie [html/css]
Compilation de poésie
Sélection de poèmes modifiés
Poème généré par le script de Simon :
Il saigne peu,
Le flux cosmique
Un jour se lève
J'aime la nuit
Le cheval rose
Qu'etait la vie
La voiture bouge
Les oiseaux chantent
Tout en hauteur
Le pied crisse
Le ciel est gris
Et s'en va tôt
La nuit est loin,
Perdant son ame
Je suis tombee
Poème généré par le script de Inconnu :
Un oiseaux leve gris
le jour est peu
le ame saigne peu
Un Il suis hauteur
la vie suis rose
Les voiture est rose
Un ame leve cosmique
le nuit leve peu
Script [Python] de Moi
#!python
# -*- coding: utf-8 -*-
import string
import unicodedata
import time
with open('Poetry.txt', 'r') as tete:
poeme = tete.read()
lines = poeme.splitlines()
print('If you want to know what sentence fits best with your personality, tell me where you were born.')
city=input()
city=unicodedata.normalize('NFD', str(city)).encode('ascii','ignore') #ignorer accents + convertir lettres
city=str(city).lower() #ignorer maj
asciiChars=list(string.ascii_lowercase)
cityNbr = 0
for counter in range(0, len(city)):
letterSearch=city[counter]
for counter2 in range(0,len(asciiChars)):
theLetter=asciiChars[counter2]
#print("looking for" + letterSearch + "current letter :" +theLetter)
if(theLetter == letterSearch):
cityNbr = cityNbr + counter2
break
#print(cityNbr)
while cityNbr >= 14:
cityNbr = cityNbr-14
print('The sentence that fits you most is : ' + lines[cityNbr])
print('Now, if you want to know what your astrological word is, tell me how old you are.')
age=input()
wordNbr=int(age)*int(cityNbr)
#print(cityNbr)
#print(wordNbr)
words = poeme.split() #séparer poème en mots
while wordNbr >= 48:
wordNbr = wordNbr-48
#print(wordNbr)
print('Your astrological word is : ' + words[wordNbr])
time.sleep(2)
print('Now please leave.')
Script [Python] de Simon
Énoncé : Un programme qui replacerait les vers dans un ordre aléatoire de sorte à afficher à chaque fois une nouvelle version de la poésie.
#!python
# -*- coding: utf-8 -*-
import random
lines = open('Poetry.txt').read().splitlines()
random.shuffle(lines) #changer ordres lignes
for line in lines: #écrire ligne par ligne
print(line)
Poésie algorithmique - Script en FR
Le script decidera quelle phrase va le mieux avec la personalité de l'utilisateur en fonction de sa ville de naissance (addition de la valeur de chaque lettre). Si la valeur numérique de la ville est plus grande que le nombre de phrases disponibles, le compteur 'recommence'. Si l'utilisateur veut connaitre son mot préféré, il peut le faire en fonction de son âge multiplié par sa ville.