Nestor

Mon petit bot Discord
Log | Files | Refs

commit 99f0944f24dbdf3bdd400a39ae7dc9b213eb4736
parent 7d8b12b8a9119640fccb5b8fdb657d9cca9ec0eb
Author: Doshirae <doshirae@mailfence.com>
Date:   Tue,  9 May 2017 21:38:11 +0200

Hoping that it works this way

Diffstat:
.insultotron.rb.swp | 0
.nestor.rb.swp | 0
insultotron.rb | 162++++++++++++++++++++++++++++---------------------------------------------------
nestor.rb | 46+++++++++++++++++++++-------------------------
tags | 25+++++++++++++++++++++++++
5 files changed, 104 insertions(+), 129 deletions(-)

diff --git a/.insultotron.rb.swp b/.insultotron.rb.swp Binary files differ. diff --git a/.nestor.rb.swp b/.nestor.rb.swp Binary files differ. diff --git a/insultotron.rb b/insultotron.rb @@ -1,133 +1,87 @@ #!/usr/bin/env ruby class Insulte + attr_reader :insulte, :mode def initialize(mode) @mode = mode - @insulte = case mode - when "fort" - "Espece d#{animal} #{adjectif} #{lieu}".upcase - when "kaaris" - "P#{"U"*rand(10..100)}T#{"E"*rand(3..20)}#{"U"*rand(10..100)}H" - when "martine" - salope = "SALO" - rand(25..100).times do |jsp| - salope += (rand(0..1) %2 == 0) ? "o" : "O" - end - salope += "PE" - "#{salope}" - when "haddock" - "#{insultesHaddock}" - when nil - "Espece d#{animal} #{adjectif} #{lieu}" - end + case mode + when nil + createDefault + when "fort" + createDefault + @insulte = @insulte.upcase + when "kaaris" + createKaaris + when "martine" + createMartine + when "haddock" + createHaddock + end end - def dire - return @insulte + def to_s + @insulte end - def animal - animaux = [ - "e Vegeta", - "e renard", - "e poulpe", - "e caribou", - "'ornythorinque", - "e papier toilette", - "e zombie necrophage", - "e velocipede", - "e castor", - "e mamouth a poil ras", - "e mamouth", - "'huitre", - "e joueur de LoL", - "e sale tchoin", - "e VACA DE LA SOLIDAD", - "'enorme bachibouzouk", - "'ectoplasme", - "e marin d'eau douce", - "e va-nu-pieds" + def createDefault + @insulte = "Espece d#{Insulte.animal} #{Insulte.adjectif} #{Insulte.lieu}" + end + + def createKaaris + @insulte = "P#{"U"*rand(10..100)}T#{"E"*rand(3..20)}#{"U"*rand(10..100)}H" + end + + def createMartine + salope = "SALO" + rand(25..100).times do |jsp| + salope += (rand(0..1) %2 == 0) ? "o" : "O" + end + salope += "PE" + @insulte = "#{salope}" + end + + + def createHaddock + @insulte = "#{Insulte.insultesHaddock}" + end + + # animal ==> + def self.animal + animaux = [ "e Vegeta", "e renard", "e poulpe", "e caribou", "'ornythorinque", "e papier toilette", "e zombie necrophage", "e velocipede", "e castor", "e mamouth a poil ras", "e mamouth", "'huitre", "e joueur de LoL", "e sale tchoin", "e VACA DE LA SOLIDAD", "'enorme bachibouzouk", "'ectoplasme", "e marin d'eau douce", "e va-nu-pieds" ] return animaux[rand(animaux.size)] end + # <== - def adjectif - adjs = [ - "moustachu", - "barbu", - "roux", - "psychopathe", - "reconditione", - "chauve", - "shoote à l'Ibuprofene®", - "nucléairement con", - "mangeur de mamouths", - "manchot", - "pyroclastique", - "associal", - "incapable" + # adjectif ==> + def self.adjectif + adjs = [ "moustachu", "barbu", "roux", "psychopathe", "reconditione", "chauve", "shoote à l'Ibuprofene®", "nucléairement con", "mangeur de mamouths", "manchot", "pyroclastique", "associal", "incapable" ] return adjs[rand(adjs.size)] end + # <== - def lieu - lieus = [ - "des iles", - "venant de mars", - "des galapagos", - "australien", - "de ta soeur", - "sumerien", - "grec", - "de l'espace", - "du Zimbabwe", - "italien", - "des antilles", - "numeriquement a la ramasse", - "DE LA MADRE MIA AYAYAYA", - "DEL FUEGO DE PAPEL" + # lieu ==> + def self.lieu + lieus = [ "des iles", "venant de mars", "des galapagos", "australien", "de ta soeur", "sumerien", "grec", "de l'espace", "du Zimbabwe", "italien", "des antilles", "numeriquement a la ramasse", "DE LA MADRE MIA AYAYAYA", "DEL FUEGO DE PAPEL" ] return lieus[rand(lieus.size)] end + # <== - def insultesHaddock - jsp = [ - "Bachi-bouzouk", - "Va-nu-pieds", - "Marin d'eau douce", - "Ectoplasme", - "Flibustier", - "Bougre de faux jetons à la sauce tartare", - "Coloquinte à la graisse de hérisson", - "Cyrano à quatre pattes", - "Zouave interplanétaire", - "Ectoplasme à roulettes", - "Bougre d’extrait de cornichon", - "Jus de poubelle", - "Espèce de porc-épic mal embouché", - "Patagon de zoulous", - "Loup-garou à la graisse de renoncule", - "Amiral de bateau-lavoir", - "Bayadère de carnaval", - "Bougres d’extrait de crétins des Alpes", - "Espèce de chouette mal empaillée", - "Macchabée d'eau de vaisselle", - "Astronaute d'eau douce", - "Bulldozer à réaction", - "Simili-martien à la graisse de cabestan", - "Concentré de moules à gaufres", - "Espèce de mitrailleur à bavette", - "Tchouck-tchouck-nougat", - "Garde-côtes à la mie de pain", - "Papou des Carpates", - "Sombre oryctérope", - "Traîne-potence" + # insultesHaddock ==> + def self.insultesHaddock + jsp = [ "Bachi-bouzouk", "Va-nu-pieds", "Marin d'eau douce", "Ectoplasme", "Flibustier", "Bougre de faux jetons à la sauce tartare", "Coloquinte à la graisse de hérisson", "Cyrano à quatre pattes", "Zouave interplanétaire", "Ectoplasme à roulettes", "Bougre d’extrait de cornichon", "Jus de poubelle", "Espèce de porc-épic mal embouché", "Patagon de zoulous", "Loup-garou à la graisse de renoncule", "Amiral de bateau-lavoir", "Bayadère de carnaval", "Bougres d’extrait de crétins des Alpes", "Espèce de chouette mal empaillée", "Macchabée d'eau de vaisselle", "Astronaute d'eau douce", "Bulldozer à réaction", "Simili-martien à la graisse de cabestan", "Concentré de moules à gaufres", "Espèce de mitrailleur à bavette", "Tchouck-tchouck-nougat", "Garde-côtes à la mie de pain", "Papou des Carpates", "Sombre oryctérope", "Traîne-potence" ] return jsp[rand(jsp.size)] end + # <== end if __FILE__ == $0 insulte = Insulte.new ARGV[0] - puts insulte.dire + puts insulte.insulte + puts insulte.mode end + +# vim:foldmethod=marker:foldmarker=\=\=>,<\=\=:foldlevel=0 diff --git a/nestor.rb b/nestor.rb @@ -14,15 +14,15 @@ require_relative 'dd.rb' # created bot, and eventually run it. bot = Discordrb::Commands::CommandBot.new token: configatron.token, client_id: 261161348124114945, prefix: '!' -# Commandes invite {{{ +# Commandes invite ==> bot.command(:invite, chain_usable: false) do |event| # This simply sends the bot's invite URL, without any specific permissions, # to the channel. event.bot.invite_url end -# }}} +# <== -# Commande random {{{ +# Commande random ==> bot.command(:random, min_args: 0, max_args: 2, description: 'Generates a random number between 0 and 1, 0 and max or min and max.', usage: 'random [min/max] [max]') do |_event, min, max| # The `if` statement returns one of multiple different things based on the condition. Its return value # is then returned from the block and sent to the channel @@ -34,18 +34,18 @@ bot.command(:random, min_args: 0, max_args: 2, description: 'Generates a random rand end end -# }}} +# <== -# Commande ping {{{ +# Commande ping ==> bot.command :ping do |event| # The `respond` method returns a `Message` object, which is stored in a variable `m`. The `edit` method is then called # to edit the message with the time difference between when the event was received and after the message was sent. m = event.respond('Pong!') m.edit "Pong! `#{(Time.now - event.timestamp).round(2)}s`" end -# }}} +# <== -# Commande dtc {{{ +# Commande dtc ==> bot.command(:dtc, description: "Renvoie une quote avec un certain numéro, ou une au hasard", usage: 'dtc [numéro_quote]') do |event, num_quote| if num_quote # File.open("latestQuote.txt", 'r') do |file,latestQuote| @@ -68,9 +68,9 @@ bot.command(:dtc, description: "Renvoie une quote avec un certain numéro, ou un "http://danstonchat.com/#{random}.html" end end -# }}} +# <== -# Commandes pokemon {{{ +# Commandes pokemon ==> bot.command(:pokelink, description: "Renvoie une page poképedia") do |event, *args| nom_pokemon = args.join('%20') event.respond "http://www.pokepedia.fr/#{nom_pokemon}" @@ -116,37 +116,33 @@ bot.command(:poke, description: "Renvoie le nom, les évolutions, et les talents end event << "" end -# }}} - -# Commande xkcd {{{ +# <== +# Commande xkcd ==> bot.command(:xkcd, description: "Renvoie une page XKCD") do |event, *args| # "https://xkcd.com/#{num}" page = Nokogiri::HTML(open("https://xkcd.com/#{num}")) isInt = Integer(args[0]) rescue nil str = (args.size > 1) ? "Trop d'arguments, très cher" : (isInt) ? "https://xkcd.com/#{num}" : "Pas un entier" event.respond(str) end +# <== -# }}} - -# insulte {{{ +# insulte ==> bot.command(:insulte, description: "Renvoie une insulte générée") do |event, mode| - event.respond("") - insulte = Insulte.new(mode) - event.respond(insulte.dire) + event.respond("#{Insulte.new(mode)}") end -# }}} +# <== -# dragodinde {{{ -bot.command(:dd, min_args: 4, max_args: 4, description: "Donne l'heure de recup d'une dd", usage: "dd.rb [couleur dd] [fatigue] [niveau jauge courant] [niveau jauge voulu]") do |event, couleur, fatigue, jaugeCourant, jaugeVoulue| +# dragodinde ==> +bot.command(:dd, min_args: 4, max_args: 4, description: "Donne l'heure de recup d'une dd", usage: "dd.rb [couleur dd] [fatigue] [niveau jauge courant] [niveau jauge voulu]") do |event, couleur, fatigue, jaugeCourant, jaugeVoulue|# {{{# }}}# {{{# }}} drago = Dragodinde.new(couleur, fatigue, jaugeCourant) objet = Objet.new main = Main.new(drago, objet) event.respond("#{main.temps(jaugeVoulue)}") end -# }}} +# <== -# Réponses aux messages {{{ +# Réponses aux messages ==> bot.message(containing: ['(╯°□°)╯︵ ┻━┻', '(ノಥ益ಥ)ノ ┻━┻', '(ノಠ益ಠ)ノ彡┻━┻']) do |event| event.respond '┬─┬ノ( º _ ºノ )' end @@ -175,7 +171,7 @@ end bot.message(containing: [/tg/i, /ta gueule/i]) do |event| event.respond "Oui monsieur, bien monsieur, je pars me flageller monsieur" end -# }}} +# <== # command taht mention # bot.mention do |event| @@ -185,4 +181,4 @@ end # end bot.run -# vim:foldmethod=marker:foldlevel=0 +# vim:foldmethod=marker:foldmarker=\=\=>,<\=\=:foldlevel=0 diff --git a/tags b/tags @@ -0,0 +1,25 @@ +!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ +!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ +!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ +!_TAG_PROGRAM_NAME Exuberant Ctags // +!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ +!_TAG_PROGRAM_VERSION 5.8 // +Dragodinde dd.rb /^class Dragodinde$/;" c +Insulte insultotron.rb /^class Insulte$/;" c +Main dd.rb /^class Main$/;" c +Objet dd.rb /^class Objet$/;" c +adjectif insultotron.rb /^ def self.adjectif$/;" F class:Insulte.createMartine +animal insultotron.rb /^ def self.animal$/;" F class:Insulte.createMartine +bonus dd.rb /^ def bonus(resistanceObjet)$/;" f +createDefault insultotron.rb /^ def createDefault$/;" f class:Insulte +createHaddock insultotron.rb /^ def createHaddock$/;" f class:Insulte.createMartine +createKaaris insultotron.rb /^ def createKaaris$/;" f class:Insulte +createMartine insultotron.rb /^ def createMartine$/;" f class:Insulte +initialize dd.rb /^ def initialize(couleur, fatigue, nivCourantJauge)$/;" f class:Dragodinde +initialize dd.rb /^ def initialize(drago, objet, frequence=2)$/;" f class:Main +initialize dd.rb /^ def initialize(resistance=600, efficacite=30)$/;" f class:Objet +initialize insultotron.rb /^ def initialize(mode)$/;" f class:Insulte +insultesHaddock insultotron.rb /^ def self.insultesHaddock$/;" F class:Insulte.createMartine +lieu insultotron.rb /^ def self.lieu$/;" F class:Insulte.createMartine +temps dd.rb /^ def temps(jaugeVoulue)$/;" f class:Main +to_s insultotron.rb /^ def to_s$/;" f class:Insulte