diff --git a/skynet/constants.py b/skynet/constants.py
index 2bb6d3b..0ddfa65 100755
--- a/skynet/constants.py
+++ b/skynet/constants.py
@@ -133,8 +133,8 @@ MP_ENABLED_ROLES = ['god']
MIN_STEP = 1
MAX_STEP = 100
-MAX_WIDTH = 512
-MAX_HEIGHT = 656
+MAX_WIDTH = 1024
+MAX_HEIGHT = 1024
MAX_GUIDANCE = 20
DEFAULT_SEED = None
diff --git a/skynet/frontend/discord/__init__.py b/skynet/frontend/discord/__init__.py
index f020734..29809e8 100644
--- a/skynet/frontend/discord/__init__.py
+++ b/skynet/frontend/discord/__init__.py
@@ -116,10 +116,12 @@ class SkynetDiscordFrontend:
status_msg,
method: str,
params: dict,
- ctx: discord.TextChannel,
+ ctx: discord.ext.commands.context.Context | discord.Message,
file_id: str | None = None,
binary_data: str = ''
):
+ send = ctx.channel.send
+
if params['seed'] == None:
params['seed'] = random.randint(0, 0xFFFFFFFF)
@@ -258,9 +260,9 @@ class SkynetDiscordFrontend:
# attempt to get the image and send it
ipfs_link = f'https://ipfs.{DEFAULT_DOMAIN}/ipfs/{ipfs_hash}/image.png'
resp = await get_ipfs_file(ipfs_link)
-
- # caption = generate_reply_caption(
- # user, params, tx_hash, worker, reward)
+
+ caption, embed = generate_reply_caption(
+ user, params, tx_hash, worker, reward)
if not resp or resp.status_code != 200:
logging.error(f'couldn\'t get ipfs hosted image at {ipfs_link}!')
@@ -273,7 +275,9 @@ class SkynetDiscordFrontend:
#
else:
logging.info(f'success! sending generated image')
- image = io.BytesIO(resp.raw)
+ # image = io.BytesIO(resp.raw)
+ # embed.set_image(url=ipfs_link)
+ # embed.add_field(name='params', value=caption)
# await self.bot.delete_message(
# chat_id=status_msg.chat.id, message_id=status_msg.id)
if file_id: # img2img
@@ -298,6 +302,7 @@ class SkynetDiscordFrontend:
# reply_markup=build_redo_menu(),
# parse_mode='HTML'
# )
- await ctx.reply(
- file=discord.File(image, 'image.png')
- )
+
+ embed.set_image(url=ipfs_link)
+ embed.add_field(name='Parameters:', value=caption)
+ await send(embed=embed)
diff --git a/skynet/frontend/discord/ui.py b/skynet/frontend/discord/ui.py
index 6704bbe..cb54d5c 100644
--- a/skynet/frontend/discord/ui.py
+++ b/skynet/frontend/discord/ui.py
@@ -54,7 +54,7 @@ class Txt2ImgButton(discord.ui.Button):
await db_call(
'update_user_stats', user.id, 'txt2img', last_prompt=prompt)
- ec = await work_request(user.name, status_msg, 'txt2img', params, msg)
+ ec = await work_request(user, status_msg, 'txt2img', params, msg)
if ec == 0:
await db_call('increment_generated', user.id)
diff --git a/skynet/frontend/discord/utils.py b/skynet/frontend/discord/utils.py
index ad08bba..81724b9 100644
--- a/skynet/frontend/discord/utils.py
+++ b/skynet/frontend/discord/utils.py
@@ -9,6 +9,7 @@ from datetime import datetime, timezone
from telebot.types import InlineKeyboardButton, InlineKeyboardMarkup
from telebot.async_telebot import ExceptionHandler
from telebot.formatting import hlink
+import discord
from skynet.constants import *
@@ -37,59 +38,59 @@ def build_redo_menu():
return inline_keyboard
-def prepare_metainfo_caption(tguser, worker: str, reward: str, meta: dict) -> str:
+def prepare_metainfo_caption(user, worker: str, reward: str, meta: dict) -> str:
prompt = meta["prompt"]
if len(prompt) > 256:
prompt = prompt[:256]
+ meta_str = f'__by {user.name}__\n'
+ meta_str += f'*performed by {worker}*\n'
+ meta_str += f'__**reward: {reward}**__\n'
- meta_str = f'by {tg_user_pretty(tguser)}\n'
- meta_str += f'performed by {worker}\n'
- meta_str += f'reward: {reward}\n'
-
- meta_str += f'prompt:
{prompt}\n'
- meta_str += f'seed: {meta["seed"]}
\n'
- meta_str += f'step: {meta["step"]}
\n'
- meta_str += f'guidance: {meta["guidance"]}
\n'
+ meta_str += f'`prompt:` {prompt}\n'
+ meta_str += f'`seed: {meta["seed"]}`\n'
+ meta_str += f'`step: {meta["step"]}`\n'
+ meta_str += f'`guidance: {meta["guidance"]}`\n'
if meta['strength']:
- meta_str += f'strength: {meta["strength"]}
\n'
- meta_str += f'algo: {meta["model"]}
\n'
+ meta_str += f'`strength: {meta["strength"]}`\n'
+ meta_str += f'`algo: {meta["model"]}`\n'
if meta['upscaler']:
- meta_str += f'upscaler: {meta["upscaler"]}
\n'
+ meta_str += f'`upscaler: {meta["upscaler"]}`\n'
- meta_str += f'Made with Skynet v{VERSION}\n'
- meta_str += f'JOIN THE SWARM: @skynetgpu'
+ meta_str += f'__**Made with Skynet v{VERSION}**__\n'
+ meta_str += f'**JOIN THE SWARM: @skynetgpu**'
return meta_str
def generate_reply_caption(
- tguser, # telegram user
+ user, # discord user
params: dict,
tx_hash: str,
worker: str,
reward: str
):
- explorer_link = hlink(
- 'SKYNET Transaction Explorer',
- f'https://explorer.{DEFAULT_DOMAIN}/v2/explore/transaction/{tx_hash}'
- )
+ explorer_link = discord.Embed(
+ title='[SKYNET Transaction Explorer]',
+ url=f'https://explorer.{DEFAULT_DOMAIN}/v2/explore/transaction/{tx_hash}',
+ color=discord.Color.blue())
- meta_info = prepare_metainfo_caption(tguser, worker, reward, params)
+ meta_info = prepare_metainfo_caption(user, worker, reward, params)
+ # why do we have this?
final_msg = '\n'.join([
'Worker finished your task!',
- explorer_link,
+ # explorer_link,
f'PARAMETER INFO:\n{meta_info}'
])
final_msg = '\n'.join([
- f'{explorer_link}',
+ # f'***{explorer_link}***',
f'{meta_info}'
])
logging.info(final_msg)
- return final_msg
+ return final_msg, explorer_link
async def get_global_config(cleos):