File size: 2,194 Bytes
78efe79 440418c f3985af 40d0e92 407a575 32c38ef f3985af 440418c 1831164 440418c 40d0e92 440418c 98c1b1b 08baccf 40d0e92 74ccf1c 78efe79 08baccf 78efe79 40d0e92 78efe79 40d0e92 78efe79 40d0e92 fc74fc1 40d0e92 fc74fc1 40d0e92 0926d14 34428f1 40d0e92 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import discord
import logging
import os
from gradio_client import Client
# 로깅 설정
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(name)s: %(message)s', handlers=[logging.StreamHandler()])
# 인텐트 설정
intents = discord.Intents.default()
intents.message_content = True # 메시지 내용 수신 인텐트 활성화
intents.messages = True
intents.guilds = True
intents.guild_messages = True
# 특정 채널 ID 설정
SPECIFIC_CHANNEL_ID = int(os.getenv("DISCORD_CHANNEL_ID"))
class MyClient(discord.Client):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
async def on_ready(self):
logging.info(f'{self.user}로 로그인되었습니다!')
async def on_message(self, message):
if message.author == self.user or message.channel.id != SPECIFIC_CHANNEL_ID:
return
if message.content.startswith("!generate"): # 프롬프트 시작 명령어
prompt = message.content[len("!generate "):] # 명령어 제거 후 프롬프트 추출
image_path = await self.generate_image(prompt)
if image_path:
await message.channel.send(file=discord.File(image_path))
else:
await message.channel.send("이미지를 생성하지 못했습니다.")
async def generate_image(self, prompt):
client = Client("ginipick/komodel")
result = client.predict(
prompt=prompt,
negative="low quality, low quality, (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation, (NSFW:1.25)",
width=1024,
height=1024,
scale=7,
steps=50,
api_name="/generate_image"
)
if 'image_path' in result:
return result['image_path'] # API가 반환한 이미지 경로
return None
if __name__ == "__main__":
discord_token = os.getenv('DISCORD_TOKEN')
client = MyClient(intents=intents)
client.run(discord_token)
|