Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
28cec47545 | |||
16fb535772 | |||
282c012774 |
1 changed files with 148 additions and 1 deletions
149
tubiabot.rb
149
tubiabot.rb
|
@ -1,5 +1,7 @@
|
|||
# coding: utf-8
|
||||
require 'cinch'
|
||||
require 'marky_markov'
|
||||
require 'open-uri'
|
||||
|
||||
class ToniNegri
|
||||
include Cinch::Plugin
|
||||
|
@ -25,13 +27,158 @@ class Caffe
|
|||
end
|
||||
end
|
||||
|
||||
class Amici
|
||||
include Cinch::Plugin
|
||||
|
||||
match /lavor(o|are|atori)/
|
||||
|
||||
def execute(m)
|
||||
users = [ "qup", "imega", "gresci", "jigen", "lgine", "encrypt", "thegamer" ]
|
||||
requests = [ "oggi non ho voglia di fare un cazzo", "caffè?", "andiamo al bar?" ]
|
||||
m.reply users.sample+" "+users.sample+" "+requests.sample
|
||||
end
|
||||
end
|
||||
|
||||
class JS
|
||||
include Cinch::Plugin
|
||||
|
||||
match /js/
|
||||
|
||||
def execute(m)
|
||||
frameworks = ["Angular", "React", "Ember", "Meteor"]
|
||||
loves = ["è una figata", "è bellissimo"]
|
||||
m.reply frameworks.sample+" "+loves.sample
|
||||
end
|
||||
end
|
||||
|
||||
class Salvino
|
||||
include Cinch::Plugin
|
||||
|
||||
match /salvino/
|
||||
|
||||
def execute(m)
|
||||
m.reply "FORZA SALVINO"+("O"*rand(3...10))
|
||||
end
|
||||
end
|
||||
|
||||
class Jops
|
||||
include Cinch::Plugin
|
||||
|
||||
match /jops/
|
||||
|
||||
def execute(m)
|
||||
cibo = ["tigelle", "crescentine"]
|
||||
m.reply "jops: andiamo a mangiare le "+cibo.sample+" ?"
|
||||
end
|
||||
end
|
||||
|
||||
class Qup
|
||||
include Cinch::Plugin
|
||||
|
||||
match /qup/
|
||||
|
||||
def execute(m)
|
||||
m.reply "qup, ora ti vengo a menare"
|
||||
end
|
||||
end
|
||||
|
||||
class Vergogna
|
||||
include Cinch::Plugin
|
||||
|
||||
match /vergogna/
|
||||
|
||||
def execute(m)
|
||||
m.reply "vergogna vergogna settimo reparto"
|
||||
end
|
||||
end
|
||||
|
||||
class Film
|
||||
include Cinch::Plugin
|
||||
|
||||
match /film/
|
||||
|
||||
def execute(m)
|
||||
loop do
|
||||
if open("http://www.imdb.com/random/title").read =~ /<title>(.*?) (\(.*?\)) - IMDb<\/title>/
|
||||
title = $1.gsub(""","\"").split
|
||||
if title.count > 1
|
||||
#title[title.count - 1] = "Tubia"
|
||||
title[rand(0...title.count)] = "Tubia"
|
||||
m.reply title.join(' ')
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Thegamer
|
||||
include Cinch::Plugin
|
||||
|
||||
match /thegamer/
|
||||
|
||||
def execute(m)
|
||||
m.reply ["ahahahahahaha", "sistemistahahahahah"].sample
|
||||
end
|
||||
end
|
||||
|
||||
class Encrypt
|
||||
include Cinch::Plugin
|
||||
|
||||
match /encrypt/
|
||||
|
||||
def execute(m)
|
||||
m.reply ["encrypt, non vedo l'ora che arrivi il tempo del nostro prossimo incontro","soccia encrypt quanto sei troll","encrypt, sei malvagio","encrypt, guardare la nebbia","ahahah encrypt esatto","il nostro encrypt","encrypt, è il JSON marxista leninista","encrypt, magari","encrypt...","ciao encrypt","encrypt è impazzito","encrypt, se vuoi puoi parlare con me ","ma sei pazzo encrypt?","questa è per encrypt","encrypt, conosciamo la tua religione","Ciao encrypt","in particolare encrypt che usa la sua capacità per il Male "].sample
|
||||
end
|
||||
end
|
||||
|
||||
class Tpo
|
||||
include Cinch::Plugin
|
||||
|
||||
match /(P|p)olitic(a|he|i)/
|
||||
|
||||
def execute(m)
|
||||
m.reply ["ahahahahahaha", "Swasps democrazia! 'Con 1589 votanti si sono concluse le primarie di CoalizioneCivica'","Swasps hashtag per tutti: LaCittàDelBuonVivere #CoalizioneCivica #Bologna LoSportDiCittadinanza tra #benessere e #integrazione", "VIGILI URBANI: UN BUON SINDACO NON DISPREZZA I PROPRI LAVORATORI - Il Sindaco di Bologna... http://fb.me/1XmvjJ2nc" ].sample
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
class Roll
|
||||
include Cinch::Plugin
|
||||
|
||||
match /roll/
|
||||
|
||||
def execute(m)
|
||||
m.reply rand(1..6)
|
||||
end
|
||||
end
|
||||
|
||||
logger = File.open("./logs.txt", 'a+')
|
||||
markov = MarkyMarkov::TemporaryDictionary.new
|
||||
markov.parse_file './logs.txt'
|
||||
|
||||
bot = Cinch::Bot.new do
|
||||
configure do |c|
|
||||
c.server = "irc.mufhd0.net"
|
||||
c.nick = "TubiaBot"
|
||||
c.channels = ["#indivia"]
|
||||
c.plugins.plugins = [Caffe, ToniNegri]
|
||||
c.plugins.plugins = [Caffe, ToniNegri, Amici, JS, Salvino, Jops, Qup, Vergogna, Film, Thegamer, Roll, Tpo, Encrypt]
|
||||
end
|
||||
end
|
||||
|
||||
bot.on :message do |m|
|
||||
if m.user.nick == "Tubia87"
|
||||
logger.write(m.message+"\n")
|
||||
end
|
||||
if m.message.include?(@bot.nick)
|
||||
m.reply markov.generate_n_sentences 1
|
||||
end
|
||||
if m.message.include?("encrypt")
|
||||
File.open('/tmp/lucine', 'w') do |f|
|
||||
f.puts('blink 3 0.3')
|
||||
f.flush
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue