SLACK_URL = args.url DATA_FILE = f"last_post_data_{args.script_name}.json" # endregion # Get data and convert accordingly cb = Coinbase(Currencies.default(), args.interval) prices = cb.price_list() cur_price = prices[0] # Get history from last runs, use it to work out what test to make history = History(DATA_FILE) # Get stats from coinbase data # If change isn't large enough, then update history and exit stats = HourData(prices, EMA_NUM_HOURS) if Analysis.ema_checks(stats, history, EMA_THRESHOLD_PERCENT, EMA_RESET_PERCENT): sys.exit(1) if not Analysis.should_post(history, stats, prices, EMA_THRESHOLD_PERCENT): sys.exit(1) logging.info("Message should be posted, generating attachment") attachments = Slack.generate_post(prices, stats, Currencies.default()) image_url = SlackImages.get_image(stats.is_diff_positive) logging.info("Posting to slack") Slack.post_to_slack(BOT_NAME, image_url, "", attachments, SLACK_URL, SLACK_CHANNEL) history.price = stats.cur_price history.rising = stats.is_diff_positive history.ema_reset = False