import os import random from dotenv import load_dotenv from telethon.sync import TelegramClient import markovify from argparse import ArgumentParser parser = ArgumentParser() parser.add_argument("-d", "--dry", action='store_true', help="Run without sending a message") args = parser.parse_args() load_dotenv() api_id = os.getenv('API_ID') api_hash = os.getenv('API_HASH') entity = os.getenv('ENTITY') dry_run = args.dry def create_message(model): message = '' for i in range(5): try: message = message + model.make_sentence() except TypeError: pass return message avalible_files = os.listdir('data') avalible_files.remove('.gitkeep') filename = random.choice(avalible_files) print(f'chosen {filename}') with open(os.path.join('data', filename), 'r') as f: model_json = f.read() model = markovify.Text.from_json(model_json) if (dry_run): print(create_message(model)) else: with TelegramClient('bot', api_id, api_hash) as client: client.send_message(entity=entity, message=create_message(model))