#!/usr/bin/env python3 # Oscar Triano García # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU 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 General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . import sys import datetime import random import requests import tomllib VERSION = "1.0" mensaje = "BIP BOP" hoy = datetime.datetime.now() dia = hoy.isoweekday() if len(sys.argv) < 2: print("Ningun argumento para configuración.") sys.exit(1) config_toml = sys.argv.pop() archivo_config = open(config_toml,"rb") config = tomllib.load(archivo_config) token = "" URL = "" try: token = config["token"] except: print ("'token' no found in config."); sys.exit(1) try: URL = config["URL"] except: print ("'URL' no found in config.") sys.exit(2) URL_status = URL + "/api/v1/statuses" dayweek_name = { 1: "Monday", 2: "Tuesday", 3: "Wednesday", 4: "Thursday", 5: "Friday", 6: "Saturday", 7: "Sunday", }.get(dia,"default") def send_message(status, token): data = { "status": status, "media_ids[]": [], "poll[options]": [], "poll[expires_in]": [] } headers = {"Authorization": f"Bearer {token}"} return requests.post(URL_status,headers=headers,data=data) def build_random_message(config, dayweek_name): """ Priority: phrases > subjects + predicates """ message = config.get("base", "") dia_config = None if dayweek_name in config: dia_config = config[dayweek_name] elif "default" in config: dia_config = config["default"] if "phrases" in dia_config and len(dia_config["phrases"]) > 0: phrase = dia_config["phrases"][random.randint(0, len(dia_config["phrases"])-1)] message += f"{phrase}." else: # Continue here subjects = dia_config.get("subjects", []) predicates = dia_config.get("predicates", []) subject = "" predicate = "" if subjects: subject = subjects[random.randint(0, len(subjects)-1)] if predicates: predicate = predicates[random.randint(0, len(predicates)-1)] message += f"{subject} {predicate}." return message message = build_random_message (config, dayweek_name) print(message) res = send_message(message, token) print(res)