The X, the Y, and the Z

This little, lightweight Twitter bot is procedurally generated homage to The Good, The Bad, The Ugly. It uses an ENORMOUS list of adjectives and WordNet’s API to get 1 opposite pair and adds another random adjective. It’s simple, but fun!

Sometimes I think some of the generated triads would be great for romance novels. What could you use them for?

Here’s the code:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import tweepy
from tweepy import OAuthHandler
import os
import random
from random import randrange
import os,sys
import time
import re
from nltk.corpus import wordnet as wn

consumer_key = "XYZ"
consumer_secret = "XYZ"
access_token = "XYZ-XYZ"
access_token_secret = "XYZ"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

adj0=[‘accessible’, ‘acerbic’, ‘amiss’, ‘analogous’, ‘choosy’, ‘pearlescent’, ‘shimmery’, ‘cruel’, ‘grim’, ‘implicit’, ‘febrile’, ‘brittle’, ‘over’, ‘firey’, ‘arduous’, ‘arid’, ‘assiduous’, ‘awful’, ‘banal’, ‘condign’, ‘cumbersome’, ‘determinate’, ‘dingy’, ‘disparate’, ‘incontrovertible’, ‘irrelevant’, ‘irreparable’, ‘irreproachable’, ‘irretrievable’, ‘laborious’, ‘ludicrous’, ‘mangy’, ‘mauve’, ‘meddlesome’, ‘mincing’, ‘miscellaneous’, ‘modish’, ‘monolithic’, ‘mottled’, ‘onerous’, ‘optional’, ‘painstaking’, ‘peremptory’, ‘pertinent’, ‘precarious’, ‘precise’, ‘prefatory’, ‘prepossessing’, ‘primary’, ‘prominent’, ‘pronounced’, ‘provisional’, ‘quaint’, ‘qualified’, ‘relevant’, ‘requisite’, ‘residual’, ‘roseate’, ‘ruddy’, ‘salient’, ‘scholarly’, ‘sedentary’, ‘selective’, ‘serrated’, ‘simplistic’, ‘slack’, ‘slick’, ‘sophisticated’, ‘spontaneity’, ‘stagnant’, ‘stereotype’, ‘subjective’, ‘subtlety’, ‘superficial’, ‘susceptible’, ‘tacit’, ‘taut’, ‘tawdry’, ‘tawny’, ‘torrid’, ‘tortuous’, ‘trite’, ‘ulterior’, ‘unbridled’, ‘underlying’, ‘unearthly’, ‘unexceptionable’, ‘unobtrusive’, ‘unprecedented’, ‘unprepossessing’, ‘unscathed’, ‘unwieldy’, ‘variegated’, ‘venal’, ‘viable’, ‘volatile’, ‘acoustic’, ‘abandoned’, ‘abashed’, ‘aberrant’, ‘abhorrent’, ‘abject’, ‘ablaze’, ‘able’, ‘abnormal’, ‘aboard’, ‘aboriginal’, ‘abortive’, ‘abounding’, ‘abrasive’, ‘abrupt’, ‘absent’, ‘absorbed’, ‘absorbing’, ‘abstracted’, ‘absurd’, ‘abundant’, ‘abusive’, ‘acceptable’, ‘accessible’, ‘accidental’, ‘accurate’, ‘acidic’, ‘acoustic’, ‘acrid’, ‘actual’, ‘adhoc’, ‘adamant’, ‘adaptable’, ‘addicted’, ‘adhesive’, ‘adjoining’, ‘adorable’, ‘adventurous’, ‘afraid’, ‘aggressive’, ‘agonizing’, ‘agreeable’, ‘ahead’, ‘ajar’, ‘alcoholic’, ‘alert’, ‘alike’, ‘alive’, ‘alleged’, ‘alluring’, ‘aloof’, ‘amazing’, ‘ambiguous’, ‘ambitious’, ‘amusing’, ‘ancient’, ‘angry’, ‘animated’, ‘annoyed’, ‘annoying’, ‘anxious’, ‘apathetic’, ‘aquatic’, ‘aromatic’, ‘arrogant’, ‘ashamed’, ‘aspiring’, ‘assorted’, ‘astonishing’, ‘attractive’, ‘auspicious’, ‘automatic’, ‘available’, ‘average’, ‘awake’, ‘aware’, ‘awesome’, ‘awful’, ‘axiomatic’, ‘bad’, ‘barbarous’, ‘bashful’, ‘bawdy’, ‘beautiful’, ‘befitting’, ‘belligerent’, ‘beneficial’, ‘bent’, ‘berserk’, ‘best’, ‘better’, ‘bewildered’, ‘big’, ‘billowy’, ‘bitter’, ‘bizarre’, ‘black’, ‘bloody’, ‘blue’, ‘blushing’, ‘boiling’, ‘boorish’, ‘bored’, ‘boring’, ‘bouncy’, ‘boundless’, ‘brainy’, ‘brash’, ‘brave’, ‘brawny’, ‘breakable’, ‘breezy’, ‘brief’, ‘bright’, ‘broad’, ‘broken’, ‘brown’, ‘bumpy’, ‘burly’, ‘bustling’, ‘busy’, ‘cagey’, ‘calculating’, ‘callous’, ‘calm’, ‘capable’, ‘capricious’, ‘careful’, ‘careless’, ‘caring’, ‘cautious’, ‘ceaseless’, ‘certain’, ‘changeable’, ‘charming’, ‘cheap’, ‘cheerful’, ‘chemical’, ‘chief’, ‘childlike’, ‘chilly’, ‘chivalrous’, ‘chubby’, ‘chunky’, ‘clammy’, ‘classy’, ‘clean’, ‘clear’, ‘clever’, ‘cloistered’, ‘cloudy’, ‘closed’, ‘clumsy’, ‘cluttered’, ‘coherent’, ‘cold’, ‘colorful’, ‘colossal’, ‘combative’, ‘comfortable’, ‘common’, ‘complete’, ‘complex’, ‘concerned’, ‘condemned’, ‘confused’, ‘conscious’, ‘cooing’, ‘cool’, ‘cooperative’, ‘coordinated’, ‘courageous’, ‘cowardly’, ‘crabby’, ‘craven’, ‘crazy’, ‘creepy’, ‘crooked’, ‘crowded’, ‘cruel’, ‘cuddly’, ‘cultured’, ‘cumbersome’, ‘curious’, ‘curly’, ‘curved’, ‘curvy’, ‘cut’, ‘cute’, ‘cute’, ‘cynical’, ‘daffy’, ‘daily’, ‘damaged’, ‘damaging’, ‘damp’, ‘dangerous’, ‘dapper’, ‘dark’, ‘dashing’, ‘dazzling’, ‘dead’, ‘deadpan’, ‘deafening’, ‘dear’, ‘debonair’, ‘decisive’, ‘decorous’, ‘deep’, ‘deeply’, ‘defeated’, ‘defective’, ‘defiant’, ‘delicate’, ‘delicious’, ‘delightful’, ‘demonic’, ‘delirious’, ‘dependent’, ‘depressed’, ‘deranged’, ‘descriptive’, ‘deserted’, ‘detailed’, ‘determined’, ‘devilish’, ‘didactic’, ‘different’, ‘difficult’, ‘diligent’, ‘direful’, ‘dirty’, ‘disagreeable’, ‘disastrous’, ‘discreet’, ‘disgusted’, ‘disgusting’, ‘disillusioned’, ‘dispensable’, ‘distinct’, ‘disturbed’, ‘divergent’, ‘dizzy’, ‘domineering’, ‘doubtful’, ‘drab’, ‘draconian’, ‘dramatic’, ‘dreary’, ‘drunk’, ‘dry’, ‘dull’, ‘dusty’, ‘dusty’, ‘dynamic’, ‘dysfunctional’, ‘eager’, ‘early’, ‘earsplitting’, ‘earthy’, ‘easy’, ‘eatable’, ‘economic’, ‘educated’, ‘efficacious’, ‘efficient’, ‘elastic’, ‘elated’, ‘elderly’, ‘electric’, ‘elegant’, ‘elfin’, ‘elite’, ’embarrassed’, ’eminent’, ’empty’, ‘enchanted’, ‘enchanting’, ‘encouraging’, ‘endurable’, ‘energetic’, ‘enormous’, ‘entertaining’, ‘enthusiastic’, ‘envious’, ‘equable’, ‘equal’, ‘erect’, ‘erratic’, ‘ethereal’, ‘evanescent’, ‘evasive’, ‘even’, ‘excellent’, ‘excited’, ‘exciting’, ‘exclusive’, ‘exotic’, ‘expensive’, ‘extra’, ‘exuberant’, ‘exultant’, ‘fabulous’, ‘faded’, ‘faint’, ‘fair’, ‘faithful’, ‘fallacious’, ‘false’, ‘familiar’, ‘famous’, ‘fanatical’, ‘fancy’, ‘fantastic’, ‘far’, ‘fascinated’, ‘fast’, ‘fat’, ‘faulty’, ‘fearful’, ‘fearless’, ‘feeble’, ‘feigned’, ‘female’, ‘fertile’, ‘festive’, ‘few’, ‘fierce’, ‘filthy’, ‘fine’, ‘finicky’, ‘first’, ‘five’, ‘fixed’, ‘flagrant’, ‘flaky’, ‘flashy’, ‘flat’, ‘flawless’, ‘flimsy’, ‘flippant’, ‘flowery’, ‘fluffy’, ‘fluttering’, ‘foamy’, ‘foolish’, ‘foregoing’, ‘forgetful’, ‘fortunate’, ‘four’, ‘frail’, ‘fragile’, ‘frantic’, ‘free’, ‘freezing’, ‘frequent’, ‘fresh’, ‘fretful’, ‘friendly’, ‘frightened’, ‘frightening’, ‘full’, ‘fumbling’, ‘functional’, ‘funny’, ‘furry’, ‘furtive’, ‘future’, ‘futuristic’, ‘fuzzy’, ‘gabby’, ‘gainful’, ‘gamy’, ‘gaping’, ‘garrulous’, ‘gaudy’, ‘general’, ‘gentle’, ‘giant’, ‘giddy’, ‘gifted’, ‘gigantic’, ‘glamorous’, ‘gleaming’, ‘glib’, ‘glistening’, ‘glorious’, ‘glossy’, ‘godly’, ‘good’, ‘goofy’, ‘gorgeous’, ‘graceful’, ‘grandiose’, ‘grateful’, ‘gratis’, ‘gray’, ‘greasy’, ‘great’, ‘greedy’, ‘green’, ‘grey’, ‘grieving’, ‘groovy’, ‘grotesque’, ‘grouchy’, ‘grubby’, ‘gruesome’, ‘grumpy’, ‘guarded’, ‘guiltless’, ‘gullible’, ‘gusty’, ‘guttural’, ‘habitual’, ‘half’, ‘hallowed’, ‘halting’, ‘handsome’, ‘handsomely’, ‘handy’, ‘hanging’, ‘hapless’, ‘happy’, ‘hard’, ‘harmonious’, ‘harsh’, ‘hateful’, ‘heady’, ‘healthy’, ‘heartbreaking’, ‘heavenly’, ‘heavy’, ‘hellish’, ‘helpful’, ‘helpless’, ‘hesitant’, ‘hideous’, ‘high’, ‘highfalutin’, ‘hilarious’, ‘hissing’, ‘historical’, ‘holistic’, ‘hollow’, ‘homeless’, ‘homely’, ‘honorable’, ‘horrible’, ‘hospitable’, ‘hot’, ‘huge’, ‘hulking’, ‘humdrum’, ‘humorous’, ‘hungry’, ‘hurried’, ‘hurt’, ‘hushed’, ‘husky’, ‘hypnotic’, ‘icky’, ‘icy’, ‘idiotic’, ‘ignorant’, ‘ill’, ‘illegal’, ‘illustrious’, ‘imaginary’, ‘immense’, ‘imminent’, ‘impartial’, ‘imperfect’, ‘impolite’, ‘important’, ‘imported’, ‘impossible’, ‘incandescent’, ‘incompetent’, ‘inconclusive’, ‘industrious’, ‘incredible’, ‘inexpensive’, ‘infamous’, ‘innate’, ‘innocent’, ‘inquisitive’, ‘insidious’, ‘instinctive’, ‘intelligent’, ‘interesting’, ‘internal’, ‘invincible’, ‘irate’, ‘irritating’, ‘itchy’, ‘jaded’, ‘jagged’, ‘jazzy’, ‘jealous’, ‘jittery’, ‘jobless’, ‘jolly’, ‘joyous’, ‘judicious’, ‘juicy’, ‘jumbled’, ‘jumpy’, ‘juvenile’, ‘kaput’, ‘keen’, ‘kind’, ‘kindhearted’, ‘kindly’, ‘knotty’, ‘knowing’, ‘knowledgeable’, ‘known’, ‘labored’, ‘lackadaisical’, ‘lacking’, ‘lame’, ‘lamentable’, ‘languid’, ‘large’, ‘last’, ‘late’, ‘laughable’, ‘lavish’, ‘lazy’, ‘lean’, ‘learned’, ‘left’, ‘legal’, ‘lethal’, ‘level’, ‘lewd’, ‘light’, ‘like’, ‘likeable’, ‘limping’, ‘literate’, ‘little’, ‘lively’, ‘lively’, ‘living’, ‘lonely’, ‘long’, ‘loose’, ‘lopsided’, ‘loud’, ‘loutish’, ‘lovely’, ‘low’, ‘lowly’, ‘lucky’, ‘ludicrous’, ‘lumpy’, ‘lush’, ‘luxuriant’, ‘lyrical’, ‘macabre’, ‘macho’, ‘mad’, ‘magenta’, ‘magical’, ‘magnificent’, ‘majestic’, ‘makeshift’, ‘male’, ‘malicious’, ‘mammoth’, ‘maniacal’, ‘many’, ‘marked’, ‘massive’, ‘married’, ‘marvelous’, ‘material’, ‘materialistic’, ‘mature’, ‘mean’, ‘measly’, ‘meaty’, ‘medical’, ‘meek’, ‘mellow’, ‘melodic’, ‘melted’, ‘merciful’, ‘mere’, ‘messy’, ‘mighty’, ‘military’, ‘milky’, ‘mindless’, ‘miniature’, ‘minor’, ‘miscreant’, ‘misty’, ‘mixed’, ‘modern’, ‘moldy’, ‘momentous’, ‘motionless’, ‘mountainous’, ‘muddled’, ‘mundane’, ‘murky’, ‘mushy’, ‘mute’, ‘mysterious’, ‘naive’, ‘nappy’, ‘narrow’, ‘nasty’, ‘natural’, ‘naughty’, ‘nauseous’, ‘near’, ‘neat’, ‘nebulous’, ‘necessary’, ‘needless’, ‘needy’, ‘neighborly’, ‘nervous’, ‘new’, ‘next’, ‘nice’, ‘nifty’, ‘nimble’, ‘nine’, ‘nippy’, ‘noiseless’, ‘noisy’, ‘nonchalant’, ‘nondescript’, ‘nonstop’, ‘normal’, ‘nostalgic’, ‘nosy’, ‘noxious’, ‘null’, ‘numberless’, ‘numerous’, ‘nutritious’, ‘nutty’, ‘oafish’, ‘obedient’, ‘obeisant’, ‘obnoxious’, ‘obscene’, ‘obsequious’, ‘observant’, ‘obsolete’, ‘obtainable’, ‘oceanic’, ‘odd’, ‘offbeat’, ‘old’, ‘omniscient’, ‘one’, ‘onerous’, ‘open’, ‘opposite’, ‘optimal’, ‘orange’, ‘ordinary’, ‘organic’, ‘ossified’, ‘outrageous’, ‘oval’, ‘overconfident’, ‘overt’, ‘overwrought’, ‘painful’, ‘pale’, ‘paltry’, ‘panicky’, ‘panoramic’, ‘parallel’, ‘parched’, ‘parsimonious’, ‘past’, ‘pastoral’, ‘pathetic’, ‘peaceful’, ‘penitent’, ‘perfect’, ‘periodic’, ‘permissible’, ‘perpetual’, ‘petite’, ‘petite’, ‘phobic’, ‘physical’, ‘picayune’, ‘pink’, ‘piquant’, ‘placid’, ‘plain’, ‘plastic’, ‘plausible’, ‘pleasant’, ‘plucky’, ‘pointless’, ‘poised’, ‘polite’, ‘political’, ‘poor’, ‘possessive’, ‘possible’, ‘powerful’, ‘precious’, ‘premium’, ‘present’, ‘pretty’, ‘previous’, ‘pricey’, ‘prickly’, ‘private’, ‘probable’, ‘productive’, ‘profuse’, ‘protective’, ‘proud’, ‘psychedelic’, ‘psychotic’, ‘public’, ‘puffy’, ‘pumped’, ‘puny’, ‘purple’, ‘pushy’, ‘puzzled’, ‘quack’, ‘quaint’, ‘quarrelsome’, ‘questionable’, ‘quick’, ‘quickest’, ‘quiet’, ‘quirky’, ‘quixotic’, ‘quizzical’, ‘rabid’, ‘racial’, ‘ragged’, ‘rainy’, ‘rambunctious’, ‘rampant’, ‘rapid’, ‘rare’, ‘raspy’, ‘ratty’, ‘ready’, ‘real’, ‘rebel’, ‘receptive’, ‘recondite’, ‘red’, ‘redundant’, ‘reflective’, ‘regular’, ‘relieved’, ‘remarkable’, ‘reminiscent’, ‘repulsive’, ‘resolute’, ‘resonant’, ‘responsible’, ‘rhetorical’, ‘rich’, ‘right’, ‘righteous’, ‘rightful’, ‘rigid’, ‘ripe’, ‘ritzy’, ‘roasted’, ‘robust’, ‘romantic’, ‘roomy’, ‘rotten’, ‘rough’, ’round’, ‘royal’, ‘ruddy’, ‘rude’, ‘rural’, ‘rustic’, ‘ruthless’, ‘sable’, ‘sad’, ‘safe’, ‘salty’, ‘same’, ‘sassy’, ‘satisfactory’, ‘savory’, ‘scandalous’, ‘scarce’, ‘scared’, ‘scary’, ‘scattered’, ‘scientific’, ‘scrawny’, ‘second’, ‘secret’, ‘secretive’, ‘sedate’, ‘seemly’, ‘selective’, ‘selfish’, ‘separate’, ‘serious’, ‘shaggy’, ‘shaky’, ‘shallow’, ‘sharp’, ‘shiny’, ‘short’, ‘shrill’, ‘shut’, ‘shy’, ‘sick’, ‘silent’, ‘silent’, ‘silky’, ‘silly’, ‘simple’, ‘simplistic’, ‘sincere’, ‘six’, ‘skillful’, ‘skinny’, ‘sleepy’, ‘slim’, ‘slimy’, ‘slippery’, ‘sloppy’, ‘slow’, ‘small’, ‘smart’, ‘smelly’, ‘smoggy’, ‘smooth’, ‘sneaky’, ‘snobbish’, ‘snotty’, ‘soft’, ‘soggy’, ‘solid’, ‘somber’, ‘sophisticated’, ‘sordid’, ‘sore’, ‘sore’, ‘sour’, ‘special’, ‘spectacular’, ‘spicy’, ‘spiffy’, ‘spiky’, ‘spiritual’, ‘spiteful’, ‘splendid’, ‘spooky’, ‘spotless’, ‘spotted’, ‘spotty’, ‘spurious’, ‘squalid’, ‘square’, ‘squeamish’, ‘stale’, ‘statuesque’, ‘steadfast’, ‘steady’, ‘steep’, ‘stereotyped’, ‘sticky’, ‘stiff’, ‘stingy’, ‘stormy’, ‘straight’, ‘strange’, ‘striped’, ‘strong’, ‘stupendous’, ‘stupid’, ‘sturdy’, ‘subdued’, ‘subsequent’, ‘substantial’, ‘successful’, ‘succinct’, ‘sudden’, ‘sulky’, ‘super’, ‘superb’, ‘superficial’, ‘supreme’, ‘swanky’, ‘sweet’, ‘swift’, ‘symptomatic’, ‘synonymous’, ‘taboo’, ‘tacit’, ‘tacky’, ‘talented’, ‘tall’, ‘tame’, ‘tan’, ‘tangible’, ‘tangy’, ‘tart’, ‘tasteful’, ‘tasteless’, ‘tasty’, ‘tawdry’, ‘tearful’, ‘tedious’, ‘teeny’, ‘temporary’, ‘ten’, ‘tender’, ‘tense’, ‘tense’, ‘tenuous’, ‘terrible’, ‘terrific’, ‘tested’, ‘testy’, ‘thankful’, ‘therapeutic’, ‘thick’, ‘thin’, ‘thinkable’, ‘third’, ‘thirsty’, ‘thirsty’, ‘thoughtful’, ‘thoughtless’, ‘three’, ‘tidy’, ‘tight’, ‘tightfisted’, ‘tiny’, ‘tired’, ‘tiresome’, ‘toothsome’, ‘torpid’, ‘tough’, ‘tranquil’, ‘trashy’, ‘tremendous’, ‘tricky’, ‘trite’, ‘troubled’, ‘truculent’, ‘true’, ‘truthful’, ‘two’, ‘typical’, ‘ubiquitous’, ‘ugliest’, ‘ugly’, ‘ultra’, ‘unable’, ‘unaccountable’, ‘unadvised’, ‘unarmed’, ‘unbiased’, ‘uncovered’, ‘understood’, ‘undesirable’, ‘unequal’, ‘unequaled’, ‘uneven’, ‘unhealthy’, ‘uninterested’, ‘unique’, ‘unkempt’, ‘unknown’, ‘unnatural’, ‘unruly’, ‘unsightly’, ‘unsuitable’, ‘untidy’, ‘unused’, ‘unusual’, ‘unwieldy’, ‘unwritten’, ‘upbeat’, ‘uppity’, ‘upset’, ‘uptight’, ‘used’, ‘useful’, ‘useless’, ‘utopian’, ‘utter’, ‘uttermost’, ‘vacuous’, ‘vagabond’, ‘vague’, ‘valuable’, ‘various’, ‘vast’, ‘vengeful’, ‘venomous’, ‘verdant’, ‘versed’, ‘victorious’, ‘vigorous’, ‘violent’, ‘violet’, ‘vivacious’, ‘voiceless’, ‘volatile’, ‘voracious’, ‘vulgar’, ‘wacky’, ‘waggish’, ‘wakeful’, ‘warlike’, ‘warm’, ‘wary’, ‘wasteful’, ‘watery’, ‘weak’, ‘wealthy’, ‘weary’, ‘well’, ‘wet’, ‘whimsical’, ‘white’, ‘whole’, ‘wholesale’, ‘wicked’, ‘wide’, ‘wiggly’, ‘wild’, ‘willing’, ‘windy’, ‘wiry’, ‘wise’, ‘wistful’, ‘witty’, ‘woebegone’, ‘womanly’, ‘wonderful’, ‘wooden’, ‘woozy’, ‘workable’, ‘worried’, ‘worthless’, ‘wrathful’, ‘wretched’, ‘wrong’, ‘wry’, ‘xenophobic’, ‘yellow’, ‘young’, ‘youthful’, ‘yummy’, ‘zany’, ‘zealous’, ‘zesty’, ‘zippy’, ‘zonked’]

while 1==1:
try:
ant = []
while ant == []:
wordx=random.choice(adj0)
lm = wn.lemma(wordx+’.a.01.’+wordx)
ant=lm.antonyms()
for lemma in ant:
anto=lemma.name()
print(ant)

tweet_text=’the ‘ +wordx+’, the ‘+ anto+’, & the ‘ +random.choice(adj0)
tweet_text = re.sub(r’_’,’ ‘,tweet_text)
print(tweet_text.upper())
api.update_status(status=tweet_text.upper())
print(‘post success’)
time.sleep(3000)
except Exception:
print(‘had an error’)
pass