tubiabot.rb 934 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # coding: utf-8
  2. require 'cinch'
  3. require 'marky_markov'
  4. require 'open-uri'
  5. plugins = [ :Caffe, :ToniNegri, :Amici, :JS, :Salvino, :Jops, :Qup, :Vergogna, :Film, :Thegamer, :Roll, :Encrypt, :Tpo, :Radio, :VCN, :Bookmarks]
  6. plugins.each do |plugin|
  7. require './plugins/'+plugin.downcase.to_s
  8. end
  9. logger = File.open("./logs.txt", 'a+')
  10. markov = MarkyMarkov::TemporaryDictionary.new
  11. markov.parse_file './logs.txt'
  12. bot = Cinch::Bot.new do
  13. configure do |c|
  14. c.server = "irc.autistici.org"
  15. c.port = 9999
  16. c.ssl.use = true
  17. c.nick = "TubiaBot"
  18. c.channels = ["#indivia"]
  19. c.plugins.plugins = plugins.map { |p| eval(p.to_s) }
  20. end
  21. end
  22. bot.on :message do |m|
  23. nicks = [ "Tubia87", "pippo" ]
  24. if nicks.include? m.user.nick
  25. #logger.write(m.message+"\n")
  26. end
  27. if m.message.include?(@bot.nick)
  28. rp = markov.generate_n_sentences 1
  29. m.reply rp
  30. #system("espeak -v italian \""+rp+"\"")
  31. end
  32. end
  33. bot.start