update dependencies #2

Merged
Anri merged 7 commits from update/4.x.x into main 2022-08-06 02:56:06 +02:00
2 changed files with 32 additions and 15 deletions
Showing only changes of commit 6d2448646b - Show all commits

45
main.py
View file

@ -1,6 +1,6 @@
from dotenv import load_dotenv
from os import environ
from tweepy import OAuthHandler, API, StreamListener, Stream
from tweepy import OAuth1UserHandler, API, Stream
from re import sub, findall
from random import choice
from datetime import datetime
@ -68,10 +68,20 @@ def cleanTweet(tweet: str) -> str:
return tweet.strip()
class Listener(StreamListener):
class Listener(Stream):
"""Watch for tweets that match criteria in real-time"""
def __init__(self, api: API = None, users: list = None, forcelist: list = None, q = Queue()):
super(Listener, self).__init__()
def __init__(
self,
consumer_key,
consumer_secret,
access_token,
access_token_secret,
api: API = None,
users: list = None,
forcelist: list = None,
q = Queue()
):
super(Listener, self).__init__(consumer_key, consumer_secret, access_token, access_token_secret)
self.q = q
self.api = api
self.accounts = [users, forcelist]
@ -84,7 +94,7 @@ class Listener(StreamListener):
forcelist = f"@{', @'.join(self.accounts[1])}"
print(f"Début du scroll sur Twitter avec les abonnements de @{', @'.join(self.accounts[0])} et ces comptes en plus : {forcelist} comme timeline...")
def on_disconnect(notice):
def on_disconnect_message(notice):
notice = notice["disconnect"]
print(f"Déconnexion (code {notice['code']}).", end = " ")
if len(notice["reason"]) > 0:
@ -150,7 +160,7 @@ class Listener(StreamListener):
self.q.get()
self.q.task_done()
def on_error(self, status_code):
def on_request_error(self, status_code):
print(f"{errorMessage[:-2]} ({status_code}) !", end = " ")
if status_code == 413:
if keys["VERBOSE"]:
@ -167,7 +177,7 @@ def getFriendsID(api: API, users: list[str]) -> list:
liste = []
# Get IDs of the user's friends
for user in users:
liste.extend(api.friends_ids(user))
liste.extend(api.get_friend_ids(screen_name=user))
return list(set(liste))
def getIDs(api: API, users: list[str]) -> list:
@ -175,7 +185,7 @@ def getIDs(api: API, users: list[str]) -> list:
liste = []
# Get IDs of the users
for user in users:
liste.append(api.get_user(user)._json["id"])
liste.append(api.get_user(screen_name=user)._json["id"])
return list(set(liste))
def seniority(date: str) -> bool:
@ -232,10 +242,10 @@ def createBaseAnswers(word: str) -> list:
def start():
"""Start the bot"""
auth = OAuthHandler(keys["CONSUMER_KEY"], keys["CONSUMER_SECRET"])
auth = OAuth1UserHandler(keys["CONSUMER_KEY"], keys["CONSUMER_SECRET"])
auth.set_access_token(keys["TOKEN"], keys["TOKEN_SECRET"])
api = API(auth_handler = auth, wait_on_rate_limit = True)
api = API(auth)
if keys["VERBOSE"]:
try:
@ -244,7 +254,7 @@ def start():
except:
print("Erreur d'authentification.")
exit(1)
print(f"@{api.me()._json['screen_name']}.")
print(f"@{api.verify_credentials().screen_name}.")
if keys['WHITELIST'] == []:
whitelist = "Aucun"
@ -252,9 +262,16 @@ def start():
whitelist = f"@{', @'.join(keys['WHITELIST'])}"
print(f"Liste des comptes ignorés : {whitelist}.")
listener = Listener(api, keys["PSEUDOS"], keys["FORCELIST"])
stream = Stream(auth = api.auth, listener = listener)
stream.filter(track = triggerWords, languages = ["fr"], stall_warnings = True, is_async = True)
stream = Listener(
consumer_key=keys["CONSUMER_KEY"],
consumer_secret=keys["CONSUMER_SECRET"],
access_token=keys["TOKEN"],
access_token_secret=keys["TOKEN_SECRET"],
api=api,
users=keys["PSEUDOS"],
forcelist=keys["FORCELIST"]
)
stream.filter(track = triggerWords, languages = ["fr"], stall_warnings = True, threaded = True)
if __name__ == "__main__":
"""

View file

@ -1,3 +1,3 @@
python-dotenv==0.20.0
tweepy==3.10.0
tweepy==4.10.0
pytz==2022.1