#!/usr/bin/env python3 # https://github.com/Lynnesbian/fediverse-bot-template # Copyright (C) 2019 Lynne (@lynnesbian@fedi.lynnesbian.space) # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # import Mastodon.py and other modules from mastodon import Mastodon import json, random # try: # cfg = json.load(open('config.json', 'r')) # except: # print("Couldn't load config.json. Make sure you run main.py first!\n-----") # raise # meta = json.load(open('meta.json', 'r')) # # log in # client = Mastodon( # client_id=cfg['client']['id'], # client_secret=cfg['client']['secret'], # access_token=cfg['secret'], # api_base_url=cfg['site']) # make a post! data = json.load(open('data.json', 'r')) def get_object(kind): num = random.choice([1, 1, 1, 1, 1, 2, 2, 3]) if kind == "rides": return "{} {}".format(random.choice(data['objects']['thrilling-rides'] + data['objects']['gentle-rides']), num) elif kind in ["gentle-rides", "thrilling-rides"]: return "{} {}".format(random.choice(data['objects'][kind]), num) thoughts_weighted = [] for key in data['thoughts']: for i in range(len(data['thoughts'][key])): thoughts_weighted.append(key) thought_type = random.choice(thoughts_weighted) thought_type = "rides" thought = random.choice(data['thoughts'][thought_type]) if thought_type in ['rides', 'gentle-rides', 'thrilling-rides']: thought = thought.format(get_object(thought_type)) print(thought)