38 lines
1022 B
Python
38 lines
1022 B
Python
import tweepy
|
|
from config import *
|
|
import time
|
|
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
logger = logging.getLogger()
|
|
|
|
|
|
def check_mentions(api, keywords, since_id):
|
|
logger.info("Retrieving mentions")
|
|
new_since_id = since_id
|
|
for tweet in tweepy.Cursor(api.mentions_timeline, since_id=since_id).items():
|
|
new_since_id = max(tweet.id, new_since_id)
|
|
if tweet.in_reply_to_status_id is not None:
|
|
continue
|
|
if any(keyword in tweet.text.lower() for keyword in keywords):
|
|
logger.info(f"Answering to {tweet.user.name}")
|
|
api.update_status(
|
|
status="Please reach us via DM",
|
|
in_reply_to_status_id=tweet.id,
|
|
auto_populate_reply_metadata=True,
|
|
)
|
|
return new_since_id
|
|
|
|
|
|
def main():
|
|
api = create_api()
|
|
since_id = 1
|
|
while True:
|
|
since_id = check_mentions(api, ["help", "support"], since_id)
|
|
logger.info("Waiting...")
|
|
time.sleep(10)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|