File size: 4,008 Bytes
5546580 7fa9e07 f42e7d1 fe6d40e 7fa9e07 11ad260 7fa9e07 fe6d40e 956c50d 3f98253 448abf5 e0461c3 11ad260 b56f69c c378b04 9650ea7 11ad260 d7fdc0e 11ad260 9650ea7 fad843f a697e01 06ddfd4 2afeadf 2d3687c f42e7d1 2afeadf 85b6226 a697e01 0fd21c2 2afeadf 3189729 9b3563d 6245db1 3189729 2afeadf f42e7d1 2afeadf 3189729 9b3563d 6245db1 3189729 85b6226 2afeadf 8d38d87 602130d 0e6b97a e86677c d78932e 75abc54 f42e7d1 8d38d87 6245db1 8d38d87 6245db1 8d38d87 6245db1 8d38d87 f42e7d1 3189729 8d38d87 448abf5 f42e7d1 448abf5 f42e7d1 448abf5 5546580 11ad260 5546580 dbb572b 5546580 dbb572b 740e062 dbb572b 8d38d87 0fd21c2 f42e7d1 8d38d87 0fd21c2 8d38d87 |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
import discord
import os
import threading
from threading import active_count
import gradio as gr
import requests
import json
import random
import time
import re
from discord import Embed, Color
from discord.ext import commands
from gradio_client import Client
from PIL import Image
import asyncio
import shutil # for doing image movement magic
import concurrent.futures
# reboot
import multiprocessing
DFIF_TOKEN = os.getenv('HF_TOKEN')
DISCORD_TOKEN = os.environ.get("GRADIOTEST_TOKEN", None)
jojogan = Client("akhaliq/JoJoGAN", DFIF_TOKEN)
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.command()
async def active(ctx):
# get the number of active threads
activethreadcount = active_count()
await ctx.message.reply(f'active threads: {activethreadcount}')
@bot.command()
async def jojo(ctx):
# get the number of active threads
activethreadcount = active_count()
# report the number of active threads
print(activethreadcount)
attachment = await discord_before(ctx)
if attachment:
asyncio.create_task(generation(ctx, attachment))
#await generation(ctx, attachment)
async def discord_before(ctx):
if ctx.message.attachments:
await asyncio.gather(
ctx.message.add_reaction('π€'),
await asyncio.sleep(0.5),
ctx.message.add_reaction('β')
)
attachment = ctx.message.attachments[0]
# get the number of active threads
activethreadcount = active_count()
# report the number of active threads
print(activethreadcount)
return attachment
else:
await asyncio.gather(
ctx.send(f"{ctx.author.mention} No attachments to be found... Can't animify dat! Try sending me an image π"),
await asyncio.sleep(0.5),
ctx.message.add_reaction('β')
)
return None
async def generation(ctx, attachment):
if attachment:
style = 'JoJo'
im = await asyncio.get_running_loop().run_in_executor(None, jojogan.predict, attachment.url, style)
#im = await asyncio.to_thread(jojogan.predict, attachment.url, style)
#im = jojogan.predict(attachment.url, style)
# get the number of active threads
activethreadcount = active_count()
# report the number of active threads
print(activethreadcount)
await asyncio.gather(
ctx.send(f'{ctx.author.mention} Here is the jojo version of it'),
await asyncio.sleep(0.5),
ctx.send(file=discord.File(im)),
await asyncio.sleep(0.5),
ctx.message.remove_reaction('β', bot.user),
await asyncio.sleep(0.5),
ctx.message.add_reaction('β
')
)
#--------------------------------------------------------
def get_total_threads():
return multiprocessing.cpu_count()
total_threads = get_total_threads()
print("Total cpus:", total_threads)
# get the number of active threads
activethreadcount = active_count()
# report the number of active threads
print(activethreadcount)
def run_bot():
bot.run(DISCORD_TOKEN)
threading.Thread(target=run_bot).start()
def greet(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()
#--------------------------------------------------------
'''
async def discord_after(ctx, im):
await asyncio.gather(
ctx.send(f'{ctx.author.mention} Here is the jojo version of it'),
ctx.send(file=discord.File(im)),
ctx.message.remove_reaction('β', bot.user),
ctx.message.add_reaction('β
')
)
'''
'''
def blocking_io():
#generate
#return image
async def main():
loop = asyncio.get_running_loop()
exeresult = await loop.run_in_executor(
None, blocking_io)
print('default thread pool', exeresult)
'''
|