#!/usr/bin/env python import random from mastodon import Mastodon import os import json5 as json with open('config.json') as f: config = json.load(f) mastodon = Mastodon( access_token=config['access_token'], api_base_url=config['site'], ) with open('adjectives.txt') as f: adjectives = list(map(str.rstrip, f)) with open('verbs.txt') as f: verbs = list(map(str.rstrip, f)) postform = random.choice(( '{adjective} {gender} who {verb}', '{adjective} {gender}', '{gender} who {verb}', )) gender = random.choice(('lgf', 'lbf', 'lef')) verb = random.choice(verbs) if verb[-2:] == 'ed' and verb[-3] not in {'a', 'e', 'i', 'o', 'u'}: verb = verb[:-2] if verb[-1] in {'a', 'i', 'o', 'u'}: verb = verb + 'es' elif verb[-1] in {'s', 'x'} or verb[-2] in {'s', 'x'} or verb[-2:] == 'ch': verb = verb + 'es' elif verb[-1] == 'y' and verb[-2] not in {'a', 'e', 'i', 'o', 'u'}: verb = verb[:-1] + 'ies' else: verb = verb + 's' adjective = random.choice(adjectives) content = postform.format(adjective=adjective, gender=gender, verb=verb) print(content) mastodon.status_post(content, visibility='unlisted')