1.1.0
This commit is contained in:
parent
de8f12a4b0
commit
efdf6f0f24
@ -23,7 +23,7 @@ class Event(Cog):
|
||||
@Cog.listener()
|
||||
async def on_application_command_error(self, ctx: ApplicationContext, exception: DiscordException) -> None:
|
||||
if isinstance(exception, CommandOnCooldown):
|
||||
await ctx.respond(embed=Default_Embed.cooldown(exception.retry_after), ephemeral=True)
|
||||
await ctx.respond(Default_Embed.cooldown(exception.retry_after), ephemeral=True)
|
||||
else:
|
||||
print(exception)
|
||||
@Cog.listener()
|
||||
@ -44,9 +44,9 @@ class Event(Cog):
|
||||
@Cog.listener()
|
||||
async def on_guild_join(self, guild: Guild) -> None:
|
||||
if guild.system_channel is not None:
|
||||
await guild.system_channel.send(embed=Default_Embed.guild_join())
|
||||
await guild.system_channel.send(embed=Default_Embed.default_join_embed())
|
||||
else:
|
||||
await random.choice(guild.text_channels).send(embed=Default_Embed.guild_join())
|
||||
await random.choice(guild.text_channels).send(embed=Default_Embed.default_join_embed())
|
||||
|
||||
@Cog.listener()
|
||||
async def on_guild_update(self, before: Guild, after: Guild) -> None:
|
||||
|
@ -8,8 +8,9 @@ import aiohttp
|
||||
import asyncio
|
||||
from aiogoogletrans import Translator
|
||||
from typing import Any, Dict
|
||||
from discord import File
|
||||
|
||||
from discord import File, Asset
|
||||
from Christmas.Tagging import Tagging
|
||||
from Christmas.Cogs.Event import model
|
||||
translator = Translator()
|
||||
weight = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 0.8, 0.9]
|
||||
cfg = [6, 7, 8, 9, 10, 11]
|
||||
@ -20,10 +21,22 @@ def is_korean(string):
|
||||
match = pattern.search(string)
|
||||
return bool(match)
|
||||
|
||||
async def process_prompt(prompt: str, remove: str, res: list, isnsfw: bool, style1: float, style2: float, afterprocess: float):
|
||||
# prompt에 "남자"가 들어있거나 remove에 "여자"가 들어있으면 man = True
|
||||
async def process_prompt(prompt: str, remove: str, res: list, isnsfw: bool, style1: float, style2: float, afterprocess: float, avatar):
|
||||
tags = None
|
||||
if not avatar == None:
|
||||
# gif인 경우 png로 변환
|
||||
try:
|
||||
if avatar.url.endswith(".gif"):
|
||||
avatar = avatar.replace(format="png")
|
||||
avatar = await avatar.read()
|
||||
# TypeError: a bytes-like object is required, not 'PngImageFile'
|
||||
taging = Tagging(model=model)
|
||||
tags = await taging.predict(avatar)
|
||||
tags = tags[0]
|
||||
except Exception as e:
|
||||
tags = None
|
||||
man = False
|
||||
if "남자" in prompt or "여자" in remove:
|
||||
if "남자" in prompt and "여자" in remove:
|
||||
man = True
|
||||
if is_korean(prompt):
|
||||
prompt = await translator.translate(prompt, dest="en")
|
||||
@ -42,8 +55,10 @@ async def process_prompt(prompt: str, remove: str, res: list, isnsfw: bool, styl
|
||||
prompt = prompt + "," + "(1boy)"
|
||||
negative_prompt = negative_prompt + "," + "(1girl)"
|
||||
add_prompt = random.choice([True, False])
|
||||
#if add_prompt == True:
|
||||
if add_prompt == True:
|
||||
prompt = prompt + f"<lora:canistermix1.1:{random.choice(weight)}>"
|
||||
if tags != None:
|
||||
prompt = prompt + "," + tags
|
||||
payloads = {
|
||||
"prompt": prompt,
|
||||
"negative_prompt": negative_prompt,
|
||||
@ -96,7 +111,7 @@ async def base64_to_image(base642) -> File:
|
||||
async def get_gpuserver_status(url) -> Dict:
|
||||
async with aiohttp.ClientSession() as session:
|
||||
try:
|
||||
async with session.get(f"{url}/sdapi/v1/memory", timeout=10) as response:
|
||||
async with session.get(f"http://172.30.1.49:7860/sdapi/v1/memory", timeout=10) as response:
|
||||
|
||||
if response.status == 200:
|
||||
result = await response.json()
|
||||
|
@ -7,7 +7,7 @@ from discord.types.embed import EmbedType
|
||||
from datetime import datetime
|
||||
from korcen import korcen
|
||||
|
||||
from Christmas.Module import get_gpuserver_status
|
||||
|
||||
start_time = datetime.now()
|
||||
|
||||
class ChristmasEmbed(Embed):
|
||||
@ -37,6 +37,7 @@ class Default_Embed:
|
||||
def default_join_embed():
|
||||
embed = ChristmasEmbed(title="🎉 크돌이를 추가해주셔서 감사해요!", description="봇을 사용하기 전에 이 서버의 관리자라면 다음의 절차를 따라주세요!")
|
||||
embed.add_field(name="1. 약관 동의", value="다음의 약관을 읽고 ``/서버 가입``명령어를 실행해주세요", inline=False)
|
||||
embed.add_field(name="1.1 약관", value="크돌이는 음악 재생과 명령어 전송을 위해 사용자가 쓴 커맨드를 확인할수 있어요, 또한 그림생성은 어떤 결과물이 나오든 크돌이는 책임지지 않아요!")
|
||||
embed.add_field(name="2. 설정", value="``/설정`` 명령어를 통해 크돌이의 여러 기능을 설정할수 있어요!", inline=False)
|
||||
embed.add_field(name="3. 도움말", value="``/도움말`` 명령어를 통해 크돌이의 명령어를 확인할 수 있어요!", inline=False)
|
||||
embed.set_footer()
|
||||
@ -76,7 +77,7 @@ class Default_Embed:
|
||||
embed.add_field(name="``/봇정보``", value="크돌이의 정보를 확인해요!", inline=False)
|
||||
embed.add_field(name="**편지**", value="``/편지 보내기 (유저)``: 유저에게 편지를 보내요!\n``/편지 확인``: 받은 편지를 확인해요!", inline=False)
|
||||
embed.add_field(name="**그림**", value="``/그림 생성``: 크돌이가 그림을 그려줘요!\n``/그림 분석``: 그림을 분석해요!", inline=False)
|
||||
embed.add_field(name="**음악**", value="``/음악 재생``: 크돌이가 음악을(LOFI) 재생해요!\n``/음악 정지``: 크돌이가 음악을 정지해요!\n``음악 설정 (설정이름) (값)``: 음악 설정을 변경해요!", inline=False)
|
||||
embed.add_field(name="**음악**", value="``/음악 재생``: 크돌이가 음악을(LOFI) 재생해요!\n``/음악 정지``: 크돌이가 음악을 정지해요!\n``/음악 설정 (설정이름) (값)``: 음악 설정을 변경해요!", inline=False)
|
||||
embed.set_footer()
|
||||
return embed
|
||||
|
||||
@ -89,7 +90,7 @@ class Default_Embed:
|
||||
gpuserver: [system_memory_usage,cuda_memory_usage,oom_count]
|
||||
"""
|
||||
embed = Embed(title="**봇 정보**", description="크돌이의 정보에요!")
|
||||
embed.add_field(name="**봇 개요**", value=f"봇 ID: {bot.user.id}\n봇 버전: 1.0.0\n가동시간: {str(uptime)}\n개발자: RunaLab(tmddn3070)", inline=False)
|
||||
embed.add_field(name="**봇 개요**", value=f"봇 ID: {bot.user.id}\n봇 버전: 1.1.0\n가동시간: {str(uptime)}\n개발자: RunaLab(tmddn3070,Flag_Fan,Pma,Gunu,i3l3,Non)", inline=False)
|
||||
orin = psutil.virtual_memory().used
|
||||
orin = orin / 1024 / 1024 / 1024
|
||||
if gpuserver == None or gpuserver["status"] == "offline":
|
||||
|
@ -1,3 +1,4 @@
|
||||
import re
|
||||
from discord import InputTextStyle, Interaction, Member
|
||||
from discord.ui import Modal, InputText
|
||||
|
||||
@ -82,8 +83,20 @@ class Aiart(Modal):
|
||||
if i in prompt:
|
||||
prompt = prompt.replace(i, "")
|
||||
await interaction.response.send_message(embed=Aiart_Embed.generating(), ephemeral=self.show)
|
||||
avatars = None
|
||||
if re.search(r"\{[0-9]{18}\}", prompt):
|
||||
user_id = re.search(r"\{[0-9]{18}\}", prompt).group()[1:-1]
|
||||
user = await interaction.guild.fetch_member(int(user_id))
|
||||
print(user)
|
||||
if user == None:
|
||||
avatars = None
|
||||
else:
|
||||
avatars = user.avatar
|
||||
print("OK")
|
||||
config = ChristmasConfig()
|
||||
#prompt: str, remove: str, res: list, isnsfw: bool, style1: float, style2: float, afterprocess: float
|
||||
payload = await process_prompt(prompt, remove, self.res, self.allownsfw, self.style1, self.style2, self.afterprocess)
|
||||
print(avatars)
|
||||
payload = await process_prompt(prompt, remove, self.res, self.allownsfw, self.style1, self.style2, self.afterprocess, avatars)
|
||||
config = ChristmasConfig()
|
||||
result = await post_gpu_server(f"{config.AI}/sdapi/v1/txt2img", payload)
|
||||
if result["status"] != True:
|
||||
|
@ -1,5 +1,4 @@
|
||||
import os
|
||||
import mafic
|
||||
|
||||
from types import SimpleNamespace
|
||||
from typing import Any, cast
|
||||
@ -13,14 +12,14 @@ class Christmas(AutoShardedBot):
|
||||
def __init__(self, *args: Any, **kwargs: Any):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.config = ChristmasConfig()
|
||||
self.debug_guilds = [1090621667778244638,1015236495910649926,957142859629342790,1125370139165081612,1170310470503247993]
|
||||
#self.debug_guilds = [1090621667778244638,1015236495910649926,957142859629342790,1125370139165081612,1170310470503247993]
|
||||
|
||||
def run(self, *args: Any, **kwargs: Any) -> None:
|
||||
kwargs.update({"token": self.config.TOKEN})
|
||||
super().run(*args, **kwargs)
|
||||
|
||||
|
||||
def load_cogs(bot) -> None:
|
||||
def load_cogs(bot: AutoShardedBot) -> None:
|
||||
for filename in os.listdir("Christmas/Cogs"):
|
||||
if filename.endswith(".py"):
|
||||
bot.load_extension(f"Christmas.Cogs.{filename[:-3]}")
|
||||
|
Loading…
Reference in New Issue
Block a user