diff --git a/lib/jumpstart_auth.rb b/lib/jumpstart_auth.rb
index <HASH>..<HASH> 100644
--- a/lib/jumpstart_auth.rb
+++ b/lib/jumpstart_auth.rb
@@ -8,6 +8,25 @@ class JumpstartAuth
     :consumer_secret => "M0XkT6GeBnjxdlWHcSGYX1JutMVS9D5ISlkqRfShg"
   }
 
+  def self.client_class
+    @client_class ||= Class.new(Twitter::Client) do
+      def update(message)
+        if message.match(/^d\s/i) then
+          d, name, *rest = message.chomp.split
+          message.sub!(/.*#{name}\s/, '')
+
+          begin
+            Twitter.direct_message_create(name, message)
+          rescue Twitter::Error::Forbidden
+          end
+        else
+          super(message)
+        end
+      end
+    end
+  end
+  private_class_method :client_class
+
   def self.twitter
     setup_oauth unless load_settings
     Twitter.configure do |config|
@@ -17,7 +36,7 @@ class JumpstartAuth
       config.oauth_token_secret = @@credentials[:oauth_secret]
     end
 
-    return Twitter::Client.new
+    return client_class.new
   end
 
 private
@@ -47,4 +66,4 @@ private
     @@credentials[:oauth_secret] = access_token.secret
     write_settings
   end
-end
\ No newline at end of file
+end
Simulate previous DM behavior

Previously, Twitter updates with leading 'd' were interpreted as DMs. Simulating that via subclassing the client class.