Utilisateur:LiloJoris

De {}
Révision datée du 10 avril 2020 à 15:49 par LiloJoris (discussion | contributions) (→‎Bot Twitter [Stlkr])
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Bot [Python]

Bot Twitter [Stlkr]

Lien vers le bot : Stlkr

Discussion du bot : Message.png

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. Schéma Bot Lilo.png

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.