# No es muy divertido reivindicar el nombre de un violento católico...
require 'marky_markov'
require 'nokogiri'

# Se va a crear el archivo markov.mmd en el directorio actual
$markov = MarkyMarkov::Dictionary.new('markov')

# Buscar todos los archivos exportados por Telegram Desktop
Dir.glob('./ChatExport_02_12_2019/messages*.html').each do |m|
  puts m

  # Procesar el archivo
  html = Nokogiri::HTML(File.read(m))

  # Encontrar todos los mensajes
  html.css('.message.default .body').each do |msg|
    # Si solo queremos aprender a hablar como una sola persona
    # next unless msg.css('.from_name').text.strip == 'hola'

    # Aprender lo que se dijo
    $markov.parse_string msg.css('.text').text.strip
  end

  # Ir guardando el diccionario
  $markov.save_dictionary!
end