if @artists.length > 10 #more than 10 artists and it floods
diff = @artists.length - 10
- @artist_string = @artists[0..10].join(', ')
+ @artist_string = Bold + @artists[0..10].join(', ') + Bold
@artist_string << _(" and %{n} more...") % {:n => diff}
else
- @artist_string = @artists.join(', ')
+ @artist_string = Bold + @artists.join(', ') + Bold
end
end
_("lastfm set nick <user> => associate your current irc nick with a last.fm user. lastfm set verb <present> <past> => set your preferred now playing verb. default \"listening\" and \"listened\".")
when :who
_("lastfm who [<nick>] => show who <nick> is at last.fm. if <nick> is empty, show who you are at lastfm.")
+ when :compare
+ _("lastfm compare <nick1> <nick2> => show musical taste compatibility between nick1 and nick2.")
else
- _("lastfm [<user>] => show your or <user>'s now playing track at lastfm. np [<user>] => same as 'lastfm'. other topics: events, artist, album, track, now, set, who")
+ _("lastfm [<user>] => show your or <user>'s now playing track at lastfm. np [<user>] => same as 'lastfm'. other topics: events, artist, album, track, now, set, who, compare")
end
end
uri = nil
if artist == nil
- uri = URI.escape("#{APIURL}method=geo.getevents&location=#{location}")
+ uri = "#{APIURL}method=geo.getevents&location=#{CGI.escape location}"
else
- uri = URI.escape("#{APIURL}method=artist.getevents&artist=#{artist}")
+ uri = "#{APIURL}method=artist.getevents&artist=#{CGI.escape artist}"
end
xml = @bot.httputil.get_response(uri)
doc = Document.new xml.body
if xml.class == Net::HTTPInternalServerError
- if doc.root.attributes["status"] == "failed"
+ if doc.root and doc.root.attributes["status"] == "failed"
m.reply doc.root.elements["error"].text
else
m.reply _("Could not retrieve events")
venue = e.elements["venue"].elements["name"].text
city = e.elements["venue"].elements["location"].elements["city"].text
country = e.elements["venue"].elements["location"].elements["country"].text
- h[:location] = Bold + venue + Bold + " #{city}, #{country}"
+ h[:location] = Underline + venue + Underline + " #{Bold + city + Bold}, #{country}"
date = e.elements["startDate"].text.split
h[:date] = Time.utc(date[3].to_i, date[2], date[1].to_i)
h[:desc] = e.elements["description"].text
opts = { :cache => false }
user1 = params[:user1].to_s
user2 = params[:user2].to_s
- xml = @bot.httputil.get_response("#{APIURL}method=tasteometer.compare&type1=user&type2=user&value1=#{user1}&value2=#{user2}", opts)
+ xml = @bot.httputil.get_response("#{APIURL}method=tasteometer.compare&type1=user&type2=user&value1=#{CGI.escape user1}&value2=#{CGI.escape user2}", opts)
doc = Document.new xml.body
unless doc
m.reply _("last.fm parsing failed")
else
user = m.sourcenick
end
- xml = @bot.httputil.get_response("#{APIURL}method=user.getrecenttracks&user=#{user}", opts)
+ xml = @bot.httputil.get_response("#{APIURL}method=user.getrecenttracks&user=#{CGI.escape user}", opts)
doc = Document.new xml.body
unless doc
m.reply _("last.fm parsing failed")
end
def find_artist(m, params)
- xml = @bot.httputil.get(URI.escape("#{APIURL}method=artist.getinfo&artist=#{params[:artist]}"))
+ xml = @bot.httputil.get("#{APIURL}method=artist.getinfo&artist=#{CGI.escape params[:artist].to_s}")
unless xml
m.reply _("I had problems getting info for %{a}.") % {:a => params[:artist]}
return
playcount = first.elements["stats"].elements["plays"].text
listeners = first.elements["stats"].elements["listeners"].text
summary = first.elements["bio"].elements["summary"].text
- m.reply _("\"%{a}\" has been played %{c} times and is being listened to by %{l} people.") % {:a => artist, :c => playcount, :l => listeners}
+ m.reply _("%{b}%{a}%{b} has been played %{c} times and is being listened to by %{l} people.") % {:b => Bold, :a => artist, :c => playcount, :l => listeners}
m.reply summary.ircify_html
end
def find_track(m, params)
track = params[:track].to_s
- xml = @bot.httputil.get(URI.escape("#{APIURL}method=track.search&track=#{CGI.escape track}"))
+ xml = @bot.httputil.get("#{APIURL}method=track.search&track=#{CGI.escape track}")
unless xml
m.reply _("I had problems getting info for %{a}.") % {:a => track}
return
end
def get_album(artist, album)
- xml = @bot.httputil.get(URI.escape("#{APIURL}method=album.getinfo&artist=#{artist}&album=#{album}"))
+ xml = @bot.httputil.get("#{APIURL}method=album.getinfo&artist=#{CGI.escape artist}&album=#{CGI.escape album}")
unless xml
return [_("I had problems getting album info")]
end