Un robot twitter avec Ruby
Rien de mieux qu’un petit robot twitter pour répondre au demandes de vos amis. Mon idée était de permettre à travers un robot de répondre à des questions mathématiques à savoir résoudre des expressions simples. du genre :
#nihedcalcul 3+5
Par la suite pour ce genre de projet, rien de mieux que Ruby qui offre une énorme bibliothèque de gem’s capable de vous aider dans presque n’importe quelle intégration.
Le résultat est ce code bien commenté (j’espère):
-
require ‘rubygems’
-
require ‘twitter’
-
require ‘mysql’
-
#configuration Oauth
-
Twitter.configure do |config|
-
config.consumer_key = ‘consumer_key’
-
config.consumer_secret = ‘consumer_secret’
-
config.oauth_token = ‘oauth_token’
-
config.oauth_token_secret = ‘oauth_token_secret’
-
end
-
#instantiation des objets
-
client = Twitter::Client.new
-
search = Twitter::Search.new
-
#connexion à la base de donnée
-
dbh = Mysql.real_connect("127.0.0.1", "user", "password", "database")
-
puts "\n"
-
#recherche des requêtes
-
search.containing("#nihedcalcul").result_type("recent").each do |r|
-
puts "#{r.from_user}: #{r.id}"
-
#enlèvement des caractères superflux
-
req=r.text.gsub(/[@%#a-zA-Z]/,"")
-
#recherche si la requête a été traité
-
res=dbh.query("select count(*) count from sa7achribtek where id=’#{r.id}’");
-
-
if(res.fetch_hash["count"].to_s== "1")
-
puts "existe"
-
else
-
puts "n’existe pas #{req}"
-
#Cas non traité
-
begin
-
#Répondre au tweeple
-
client.update("@#{r.from_user} #{req}="+eval(req).to_s)
-
puts("@#{r.from_user} #{req}="+eval(req).to_s)
-
#mecanisme d’exception de ruby
-
rescue Exception=>e
-
begin
-
client.update("@#{r.from_user} yezzi e7chem")
-
puts("@#{r.from_user} yezzi e7chem ")
-
rescue Exception=>e1
-
end
-
end
-
dbh.query("insert into sa7achribtek values(‘#{r.id}’)");
-
end
-
end
-
#fermeture de la base
-
dbh.close if dbh
-
print ‘end of work’
-
j’attends vos commentaire et questions
Cool 🙂
Cool !!!! 🙂
Bonjour !
Je trouve ça exellent :). Tu as l’air de toucher ta bille en codage, j’aimerais te poser quelques questions concernant les robots twitter, si tu acceptes, envoies moi un mail
Merci d’avance 🙂