diff --git a/requirements.txt b/requirements.txt
index 503dba9..3aed5b2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1 +1,2 @@
-discord.py
\ No newline at end of file
+discord.py
+aiohttp
\ No newline at end of file
diff --git a/testing.ipynb b/testing.ipynb
index f488cc2..84e488f 100644
--- a/testing.ipynb
+++ b/testing.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 32,
+ "execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
@@ -13,14 +13,14 @@
},
{
"cell_type": "code",
- "execution_count": 57,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"payload = {\n",
- " \"prompt\": \"view from behind web developer sitting in a chair, sfw\",\n",
- " \"styles\": [\"default\"],\n",
- " \"steps\": 28,\n",
+ " \"prompt\": \"cute girlhand on cheek eyes closed thinking hard, sfw\",\n",
+ " \"styles\": [\"Bot\"],\n",
+ " \"steps\": 70,\n",
" \"seed\": -1,\n",
" \"n_iter\": 1,\n",
" \"height\": 1024,\n",
@@ -39,25 +39,25 @@
"\n",
"payload.update(override_payload)\n",
"\n",
- "# url = \"https://art.jurydoak.com/sdapi/v1\"\n",
- "url = \"http://localhost:7860/sdapi/v1\""
+ "url = \"https://art.jurydoak.com/sdapi/v1\"\n",
+ "# url = \"http://localhost:7860/sdapi/v1\""
]
},
{
"cell_type": "code",
- "execution_count": 58,
+ "execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
- "
"
+ "
"
],
"text/plain": [
""
]
},
- "execution_count": 58,
+ "execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
@@ -95,7 +95,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.8"
+ "version": "3.10.8 (main, Nov 1 2022, 14:18:21) [GCC 12.2.0]"
},
"orig_nbformat": 4,
"vscode": {
diff --git a/weeeabot.py b/weeeabot.py
index 95a8633..71dab05 100644
--- a/weeeabot.py
+++ b/weeeabot.py
@@ -1,4 +1,9 @@
import discord
+import requests
+import aiohttp
+import asyncio
+from base64 import b64decode
+import json
from sys import exit
try:
@@ -13,16 +18,120 @@ intents.message_content = True
client = discord.Client(intents=intents)
+nsfw_enabled = True
+steps = 28
+seed = -1
+url = "https://art.jurydoak.com"
+
+async def gen_image(message):
+ # global sess
+
+ sess = aiohttp.ClientSession(url)
+
+ payload = {
+ "prompt": "cute girlhand on cheek eyes closed thinking hard, sfw",
+ "styles": ["Bot"],
+ "steps": steps,
+ "seed": seed,
+ "n_iter": 1,
+ "height": 1024,
+ "negative_prompts": "nsfw, not safe for work, nudity, multiple keyboards",
+ "cfg_scale": 12
+ }
+
+ settings = {
+ "filter_nsfw": not nsfw_enabled,
+ "samples_save": True,
+ }
+
+ override_payload = {
+ "override_settings": settings
+ }
+
+ payload.update(override_payload)
+ user_prompt = " ".join(message.content.split(' ')[1:])
+ payload['prompt'] = user_prompt
+ # url = "https://art.jurydoak.com/sdapi/v1"
+
+ image_req = await sess.post("/sdapi/v1/txt2img", json=payload)
+ x = await image_req.json()
+ image_req.close()
+ await sess.close()
+
+ image = x['images'][0]
+ # image = requests.post(f"{url}/txt2img", json=payload).json()['images'][0]
+ with open('/tmp/image.png', 'wb') as f:
+ f.write(b64decode(image))
+
+ e = discord.Embed()
+ upload_file = discord.File("/tmp/image.png", filename="image.png")
+ e.set_image(url="attachment://image.png")
+ e.title = user_prompt
+ await message.channel.send("", file=upload_file, embed=e)
+
+
@client.event
async def on_ready():
+
+ bot_setup_id = 775489296932405319
+ channel = client.get_channel(bot_setup_id)
+ await channel.send(f"Awake and ready to degen, NSFW: {nsfw_enabled}, STEPS: {steps}")
+ await client.change_presence(activity=discord.Game(name="Thinking degenerate thoughts..."))
+
+ # text_channel_list = []
+ # for server in discord.Client.servers:
+ # for channel in server.channels:
+ # if channel.type == "text":
+ # text_channel_list.append(channel)
+
+ # print(text_channel_list)
print(f'We have logged in as {client.user}')
+
@client.event
async def on_message(message):
+ global nsfw_enabled
if message.author == client.user:
return
if message.content.startswith('$hello'):
- await message.channel.send('Hello!')
+ print(message.content)
+ await message.channel.send('Hopefully queued the image')
+ await gen_image(message)
+
+ if message.content.startswith('$degen'):
+ await message.channel.send('Disabling kink mode' if nsfw_enabled else 'Enabling kink mode')
+ if nsfw_enabled:
+ nsfw_enabled = False
+ else:
+ nsfw_enabled = True
+
+ if message.content.startswith("$steps"):
+ global steps
+ try:
+ num = int(message.content.split(" ")[1])
+ steps = num
+ await message.channel.send(f"Setting steps to {steps}")
+ except:
+ pass
+
+
+ if message.content.startswith("$seed"):
+ global seed
+ try:
+ num = int(message.content.split(" ")[1])
+ seed = num
+ await message.channel.send(f"Setting seed to {seed}")
+ except:
+ pass
+
+ if message.content.startswith("$host"):
+ global url
+ try:
+ host = message.content.split(" ")[1]
+ url = host
+ await message.channel.send(f"Setting host to {host}")
+ except:
+ pass
client.run(discord_client_token)