-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtwitter.py
54 lines (38 loc) · 1.72 KB
/
twitter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#/usr/bin/python3
# -*- coding: utf-8 -*-
import oauth2
import json
import urllib.parse
class Twitter:
consumer_key = "CONSUMER KEY HERE"
consumer_secret = "CONSUMER SECRET HERE"
access_token = "ACCESS TOKEN HERE"
access_token_secret = " ACCESS TOKEN SECRET HERE"
consumer = oauth2.Consumer(consumer_key,consumer_secret)
token = oauth2.Token(access_token,access_token_secret)
client = oauth2.Client(consumer,token)
def post(self, text = ""):
text = text.replace("/","-")
text = text.encode("UTF-8")
text_codefy = urllib.parse.quote(text, safe="")
request = self.__class__.client.request("https://api.twitter.com/1.1/statuses/update.json?status="+str(text_codefy),method='POST')
request_decode = request[1].decode()
request_object = json.loads(request_decode)
if "errors" in request_object:
request_object["status"] = False
else:
request_object["status"] = True
return request_object
def search(self, query = ""):
query = query.encode("UTF-8")
query_codefy = urllib.parse.quote(query, safe="")
request = self.__class__.client.request("https://api.twitter.com/1.1/search/tweets.json?q="+str(query_codefy))
request_decode = request[1].decode()
request_object = json.loads(request_decode)
twittes = request_object["statuses"]
response_array = []
for twitt in twittes:
user = twitt["user"]["screen_name"]
text = twitt["text"]
response_array.append({"user": user, "text": text})
return {"status": True, "response": response_array}