update max size params and add discord return card

pull/11/head
Konstantine Tsafatinos 2023-07-20 17:02:14 -04:00
parent 2e47ee97f2
commit 2440fe32db
4 changed files with 40 additions and 34 deletions

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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'<u>by {tg_user_pretty(tguser)}</u>\n'
meta_str += f'<i>performed by {worker}</i>\n'
meta_str += f'<b><u>reward: {reward}</u></b>\n'
meta_str += f'<code>prompt:</code> {prompt}\n'
meta_str += f'<code>seed: {meta["seed"]}</code>\n'
meta_str += f'<code>step: {meta["step"]}</code>\n'
meta_str += f'<code>guidance: {meta["guidance"]}</code>\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'<code>strength: {meta["strength"]}</code>\n'
meta_str += f'<code>algo: {meta["model"]}</code>\n'
meta_str += f'`strength: {meta["strength"]}`\n'
meta_str += f'`algo: {meta["model"]}`\n'
if meta['upscaler']:
meta_str += f'<code>upscaler: {meta["upscaler"]}</code>\n'
meta_str += f'`upscaler: {meta["upscaler"]}`\n'
meta_str += f'<b><u>Made with Skynet v{VERSION}</u></b>\n'
meta_str += f'<b>JOIN THE SWARM: @skynetgpu</b>'
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'<b><i>{explorer_link}</i></b>',
# f'***{explorer_link}***',
f'{meta_info}'
])
logging.info(final_msg)
return final_msg
return final_msg, explorer_link
async def get_global_config(cleos):