Files
politics-mark/main.py
Anatoly c0d2b1e35b
All checks were successful
continuous-integration/drone/push Build is passing
Added some more models
2022-04-03 19:41:03 +03:00

49 lines
1.1 KiB
Python

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")
parser.add_argument("-m", "--model", help="Specify model file")
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
filename = args.model
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')
if (not filename):
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))