diff options
Diffstat (limited to 'modules/bdg.rb')
-rw-r--r-- | modules/bdg.rb | 35 |
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 |