summaryrefslogtreecommitdiffstats
path: root/modules/wikipedia.rb
blob: 68e7280fbcb7f3ea8df2b105951374aa3c1a9238 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def module_wikipedia(msg_body, sender_nick, config)
	def wikipedia(wikisearch, config)
		http = Net::HTTP.new("fr.wikipedia.org", 80)
		http.start do |http|
			req = Net::HTTP::Get.new("/w/api.php?action=opensearch&limit=3&format=xml&search=#{CGI::escape(wikisearch)}", {"User-Agent" => config['bot'][0]['USERAGENT'][0]})
			$resp = http.request(req).body
		end
		data = XmlSimple.xml_in($resp, { 'KeyAttr' => 'name','ContentKey' => '-content'})
		unless data['Section'][0] == {} then
			return data['Section'][0]['Item'][0]['Description'][0]['content']
		else
			return "Aucun résultat, veuillez reformuler votre recherche"
		end
	end

	if msg_body == "!wiki"
		answer = "Veuillez entrer une recherche à effectuer."
		return answer
	elsif msg_body =~ /^!wiki+/
		answer = wikipedia(msg_body.gsub("!wiki ",""), config).chomp
		return answer
	end
end