parent
635554c14c
commit
e1bf4e008a
2 changed files with 58 additions and 1 deletions
@ -0,0 +1,57 @@ |
||||
import subprocess |
||||
|
||||
import os |
||||
import twitter_api |
||||
import sys |
||||
|
||||
import config |
||||
|
||||
def start_bot(default=True): |
||||
print('Twitter bot started.') |
||||
|
||||
twitter = twitter_api.API() |
||||
first_tweet = "Answer to this tweet to get a list of your twitter friends on Mastodon. If you include your own Mastodon username in the reply that username will be included in a database so that others can find you." |
||||
|
||||
if not default: |
||||
print('\nShould I post this as a first tweet and instructions? (y/n)\n', first_tweet, '\n') |
||||
|
||||
if input('>>> ').lower() != 'y': # If custom first tweet. |
||||
print('Write your first post and instructions:\n') |
||||
first_tweet = input('>>> ') |
||||
while len(first_tweet) > 140: |
||||
print('Too long, max lenght 140. Try again:\n') |
||||
first_tweet = input('>>> ') |
||||
|
||||
r_json = twitter.post_tweet(first_tweet).json() |
||||
|
||||
# Save the ID of the first tweet in the config.json file. |
||||
first_tweet_id = r_json['data']['id'] |
||||
config.update_config('first_tweet_id', first_tweet_id) |
||||
|
||||
return first_tweet_id |
||||
|
||||
if __name__ == "__main__": |
||||
if len(sys.argv) > 1: |
||||
if sys.argv[1].lower() == 'start': |
||||
if sys.argv[1].lower() == 'default': |
||||
default = True |
||||
else: |
||||
default = False |
||||
first_tweet_id = start_bot(default) |
||||
else: |
||||
if input('Start Twitter bot? (y/n) ') in ['yes', 'y']: |
||||
first_tweet_id = start_bot(default=False) |
||||
else: |
||||
print('Exiting...') |
||||
|
||||
conf = config.get_config() |
||||
print(f'You have posted your first tweet: https://twitter.com/{conf["bot_username"]}/status/{first_tweet_id}') |
||||
|
||||
# Start monitoring answers to the first tweet. |
||||
subprocess.Popen(['python', 'stream_answers.py', first_tweet_id], cwd=os.path.dirname(os.path.realpath(__file__))) |
||||
|
||||
# Start the answering machine. |
||||
subprocess.run(['python', 'answering_machine.py'], cwd=os.path.dirname(os.path.realpath(__file__))) |
||||
|
||||
|
||||
|
||||
Loading…
Reference in new issue