summaryrefslogtreecommitdiffstats
path: root/modules/bdg.rb
diff options
context:
space:
mode:
Diffstat (limited to 'modules/bdg.rb')
-rw-r--r--modules/bdg.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/bdg.rb b/modules/bdg.rb
new file mode 100644
index 0000000..5acd832
--- /dev/null
+++ b/modules/bdg.rb
@@ -0,0 +1,35 @@
+def module_bdg(msg_body, sender_nick, config)
+
+ require 'dbi'
+ require 'htmlentities'
+ require 'iconv'
+
+ @mysql_config = { "host" => "localhost",
+ "db" => "bdg",
+ "user" => "bdg_ro",
+ "passwd" => "vinblanc_ro"
+ }
+
+ def bdg(bdg_number)
+ begin
+ db = DBI.connect("DBI:Mysql:" + @mysql_config["db"] + ":" + @mysql_config["host"], @mysql_config["user"], @mysql_config["passwd"])
+ st = db.execute('select id,titre,blague,auteur,date_post from blague where id=' + bdg_number)
+ row = st.fetch
+ answer = "\##{row[0]} - #{row[1]} \n #{row[2]} \n par #{row[3]} le #{row[4]} "
+ answer = HTMLEntities.new.decode(answer)
+ answer = Iconv.new('utf-8', 'iso-8859-1').iconv(answer)
+ return answer
+ rescue
+ answer = "BDG introuvable"
+ return answer
+ end
+ end
+
+ if msg_body =~ /^!bdg(\s|)\d+$/
+ answer = bdg(msg_body.gsub(/!bdg(\s|)/, ''))
+ return answer
+ elsif msg_body =~ /^!bdg+/
+ answer = "Veuillez entrer un numéro de BDG."
+ return answer
+ end
+end