2014-01-08 19 views
0

나는 내 API에 짹짹을 게시하는 간단한 대중 교통 twitter-bot을 만들고, 그 결과를 나중에 여행 시간과 이러한. 모든 마법은 서버쪽에 있으며이 코드는 잘 작동합니다.내 Python 스크립트가 저에게 오류를주지 않거나 어떤 결과도 보여주지 않습니다.

사용자는 아래의 트윗과 같이 구성한다 : 방법은 다음과 같습니다

@kollektiven Sundsvall Navet - Ljustadalen 

내 스크립트가 트윗에서 @kollektiven을 제거, 우리의 API에 나머지 Sundsvall Navet - Ljustadalen을 보낼 수 있습니다. 그런 다음 JSON을 스크립트에 제공해야합니다. 이 스크립트는 나중에 다음과 같은 대답으로 답장을 보내야합니다.

@jackbillstrom Sundsvall busstation Navet (2014-01-08 20:45) till Ljustadalen centrum (Sundsvall kn) (2014-01-08 20:59) 

그러나 그렇지 않습니다. 나는이 코드를 spritzbot이라는 github에서 사용하고 있습니다.

# -*- coding: utf-8 -*- 

import json, urllib2, os 

os.system("clear") 

def process_mention(status, settings): 
    print status.user.screen_name,':', status.text.encode('utf-8') 
    urlencode = status.text.lower().replace(" ","%20") # URL-encoding 
    tweet = urlencode.strip('@kollektiven ') 
    try: 
     call = "http://xn--datorkraftfrvrlden-xtb17a.se/kollektiven/proxy.php?input="+tweet # Endpoint 
     endpoint = urllib2.urlopen(call) # GET-Request to API endpoint 
     data = json.load(endpoint) # Load JSON 
     answer = data['proxyOutput'] # The answer from the API 
     return dict(response=str(answer)) # Posts answer tweet 

    except: 
     return dict(response="Error, kontakta @jackbillstrom") # Error-meddelande 

이 문제를 일으키는 것 : 나는은 아래와 같이 할 수있는 확장/hello.py 편집? 그리고 왜? 나는이 개정판에 오기 전에 약간의 수정을했으며, 당시에는 효과가있었습니다.

답변

1

당신이 필요합니다

if __name__ == '__main__': 
    process_mention(...) 
    ... 
+0

다소 지저분한 소프트웨어이지만 문제점은 내 스 니펫 안에 있습니다. "extenstions/hello.py". 소프트웨어를 실행하려면 내 확장 프로그램 내에서 코드를 처리하는 다른 파일을 실행해야합니다. https://github.com/hiway/spritzbot/blob/master/spritzbot.py – Jack

0

process_mention은 어디서나 정의 할 수 있습니다.

+0

를 체크 아웃 github에의 환매 특약이 기능을들 수있다. – Jack

+0

스크립트를 실행하면 나중에 "spritzbot.py"를 실행하여 "extensions/hello.py"를 실행합니다. – Jack

관련 문제