57 lines
1.2 KiB
Python
57 lines
1.2 KiB
Python
import os
|
|
import random
|
|
from dotenv import load_dotenv
|
|
import markovify
|
|
from argparse import ArgumentParser
|
|
import requests
|
|
|
|
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()
|
|
|
|
access_token = os.getenv('ACCESS_TOKEN')
|
|
dry_run = args.dry
|
|
filename = args.model
|
|
|
|
def create_message(model):
|
|
message = ''
|
|
|
|
for i in range(4):
|
|
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:
|
|
data = {
|
|
'chat_id': 'channel_608',
|
|
'text': create_message(model),
|
|
}
|
|
response = requests.post(
|
|
'https://arround-msg.gora.studio/v3/message/message',
|
|
json = data,
|
|
headers = {
|
|
'x-access-token': access_token
|
|
}
|
|
)
|
|
print(response.content)
|