chiark / gitweb /
authenticate to twitter so we can use v1.1 of the API :-(
authorMatthew Vernon <matthewv@chiark.greenend.org.uk>
Mon, 17 Jun 2013 16:08:59 +0000 (17:08 +0100)
committerMatthew Vernon <matthewv@chiark.greenend.org.uk>
Mon, 17 Jun 2013 16:08:59 +0000 (17:08 +0100)
Servus-chiark.py

index 26d46a1..76fafd1 100755 (executable)
@@ -35,7 +35,7 @@ owner = "Emperor"
 
 # Everything else in this file is configuration-specific.
 
-import os, time, re, twitter, subprocess, sys
+import os, time, re, twitter, subprocess, sys, os.path
 
 # Most command implementations are stored in a separate module.
 import commands as c
@@ -166,8 +166,34 @@ expirelen=71*60*60
 #do an expiry run every hour
 expirevery=60*60
 
+
+#path where Oauth details are kept
+twioauthpath=os.path.expanduser("~/private/servus_twapi_oauth.txt")
+
+try:
+  f=open(twioauthpath,"r")
+  for line in f:
+    if line[0]=='#':
+      continue
+    key,val=map(str.strip,line.split(':'))
+    if key == "consumer_key":
+      twoaapck = val
+    elif key == "consumer_secret":
+      twoaapcs = val
+    elif key == "access_token":
+      twoapat = val
+    elif key == "access_token_secret":
+      twoapats = val
+    else:
+      raise ValueError, "Invalid line in twitter auth details file %s" % line
+  f.close()
+  twitapi = twitter.Api(consumer_key = twoaapck,
+                       consumer_secret = twoaapcs,
+                       access_token_key = twoapat,
+                       access_token_secret = twoapats)
+except IOError:
 # non-authenticated twitter api instance
-twitapi = twitter.Api()
+  twitapi = twitter.Api()
 
 # Command processing: whenever something is said that the bot can hear,
 # "command" is invoked and must decide what to do.  This configuration