-
- uri = "http://#{URI.escape(@registry[m.sourcenick + "_username"])}:#{URI.escape(@registry[m.sourcenick + "_password"])}@twitter.com/statuses/update.xml"
-
- response = @bot.httputil.post(uri, "status=#{CGI.escape(params[:status].to_s)}")
+
+ user = URI.escape(@registry[m.sourcenick + "_username"])
+ pass = URI.escape(@registry[m.sourcenick + "_password"])
+ uri = "http://#{user}:#{pass}@twitter.com/statuses/update.xml"
+
+ msg = params[:status].to_s
+
+ if msg.length > 160
+ m.reply "your status message update is too long, please keep it under 140 characters if possible, 160 characters maximum"
+ return
+ end
+
+ if msg.length > 140
+ m.reply "your status message is longer than 140 characters, which is not optimal, but I'm going to update anyway"
+ end
+
+ source = "source=rbot"
+ msg = "status=#{CGI.escape(msg)}"
+ body = [source,msg].join("&")
+
+ response = @bot.httputil.post(uri, body, :headers => @header)