diff --git a/extensions/async_openai.py b/extensions/async_openai.py index be88378..50ab570 100644 --- a/extensions/async_openai.py +++ b/extensions/async_openai.py @@ -27,12 +27,6 @@ class AsyncOpenAI(commands.Cog): except: print("AsyncOpenAI failed to make directories") - '''async def upload_sftp(local_filename, server_folder, server_filename): - remotepath = server_folder + server_filename - async with asyncssh.connect(os.getenv('ftp_server'), username=os.getenv('ftp_username'), password=os.getenv('ftp_password')) as conn: - async with conn.start_sftp_client() as sftp: - await sftp.put(local_filename, remotepath=remotepath)''' - async def handle_error(self, error): print(error) current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) @@ -81,70 +75,6 @@ class AsyncOpenAI(commands.Cog): f.writelines(message+'\n') await ctx.send("Saved suggestion!") - @commands.command() - async def generate_blog(self, ctx): - start_time = time.time() - topic = '' - filename = "phixxy.com/ai-blog/index.html" - with open(filename, 'r', encoding="utf-8") as f: - html_data = f.read() - current_time = time.time() - current_struct_time = time.localtime(current_time) - date = time.strftime("%B %d, %Y", current_struct_time) - if date in html_data: - print("I already wrote a blog post today!") - return - blogpost_file = "databases/blog_topics.txt" - #blog_subscribers = ["276197608735637505","242018983241318410"] - if os.path.isfile(blogpost_file): - with open(blogpost_file, 'r') as f: - blogpost_topics = f.read() - f.seek(0) - topic = f.readline() - blogpost_topics = blogpost_topics.replace(topic, '') - with open(blogpost_file, 'w') as f: - f.write(blogpost_topics) - if topic != '': - print("Writing blogpost") - else: - print("No topic given for blogpost, generating one.") - topic = await self.answer_question("Give me one topic for an absurd blogpost.") - - - post_div = ''' -
{content}
" - content = content.replace('\n\n', "") - content = content.replace("
", '') - - post_div = post_div.replace("", title) - post_div = post_div.replace("", date) - post_div = post_div.replace("", content) - - html_data = html_data.replace("", post_div) - with open(filename, 'w', encoding="utf-8") as f: - f.write(html_data) - await self.upload_sftp(filename, (os.getenv('ftp_public_html') + 'ai-blog/'), "index.html") - run_time = time.time() - start_time - print("It took " + str(run_time) + " seconds to generate the blog post!") - output = "Blog Updated! (" + str(run_time) + " seconds) https://ai.phixxy.com/ai-blog" - #output += '\nNotifying subscribers: ' - #for subscriber in blog_subscribers: - # output += '<@' + subscriber + '> ' - print(output) - @commands.command( description="Question", help="Ask a raw chatgpt question. Usage: !question (question)", @@ -207,131 +137,5 @@ class AsyncOpenAI(commands.Cog): for chunk in chunks: await ctx.send(chunk) - @commands.command( - description="Website", - help="Generates a website using gpt 3.5. Usage: !website (topic)", - brief="Generate a website" - ) - async def website(self, ctx): - async def delete_local_pngs(local_folder): - for filename in os.listdir(local_folder): - if ".png" in filename: - os.remove(local_folder + filename) - - async def delete_ftp_pngs(server_folder): - async with asyncssh.connect(os.getenv('ftp_server'), username=os.getenv('ftp_username'), password=os.getenv('ftp_password')) as conn: - async with conn.start_sftp_client() as sftp: - for filename in (await sftp.listdir(server_folder)): - if '.png' in filename: - try: - print("Deleting", filename) - await sftp.remove(server_folder+filename) - except: - print("Couldn't delete", filename) - - async def extract_image_tags(code): - count = code.count("This webpage is currently being generated. The page will refresh once it is complete. Please be patient.
") - await self.upload_sftp(working_file, server_folder, "index.html") - topic = ctx.message.content.split(" ", maxsplit=1)[1] - prompt = "Generate a webpage using html and inline css. The webpage topic should be " + topic + ". Feel free to add image tags with alt text. Leave the image source blank. The images will be added later." - code = await self.answer_question(prompt) - - - await delete_local_pngs(local_folder) - await delete_ftp_pngs(server_folder) - - tags = await extract_image_tags(code) - alt_texts = await extract_image_alt_text(tags) - file_list = await generate_images(local_folder, alt_texts) - code = await add_image_filenames(code, file_list) - - with open(working_file, 'w') as f: - f.write(code) - f.close() - - await upload_html_and_imgs(local_folder, server_folder) - - await ctx.send("Finished https://ai.phixxy.com/ai-webpage/") - except Exception as error: - await self.handle_error(error) - await ctx.send("Failed, Try again.") - - @tasks.loop(seconds=1) - async def ai_task_loop(self): - current_time = time.localtime() - if current_time.tm_hour == 17 and current_time.tm_min == 0 and current_time.tm_sec == 0: - try: - await self.generate_blog() - except Exception as error: - await self.handle_error(error) - async def setup(bot): - bot.add_cog(AsyncOpenAI) - bot.ai_task_loop.start() #I don't know if this will work or not \ No newline at end of file + bot.add_cog(AsyncOpenAI) \ No newline at end of file