Как сделать, чтобы bot.run() работало вместе с eel.start()
Есть код:
import eel
import disnake
from disnake.ext import commands
GUILD_ID = ***
CHANNEL_ID = ***
TOKEN = '***'
bot = commands.Bot(command_prefix='$$', help_command=None, intents=disnake.Intents.all(), test_guilds=[GUILD_ID])
@bot.event
async def on_message(message):
await message.channel.send('123')
# await eel.some_func(message.content)
@eel.expose()
async def some_python_func():
print('from javascript')
@bot.event
async def on_ready():
print(f'Connected. {bot.user}')
eel.init('.')
bot.run(TOKEN)
eel.start('index.html', size=(1500, 900))
bot.start() блокирует дальнейшее выполнение кода и не позволяет совершить eel.start().
Если указать в eel.start() параметр block=False, бот будет работать, но html не загрузится.
Есть мысли через asyncio, но с ним я очень слабо знаком.
Буду очень благодарен ответу.
Ответы (1 шт):
Автор решения: q r t s
→ Ссылка
Я думаю Вам подойдёт loop event.
Попробуйте сделать что-то подобное:
loop = asyncio.get_event_loop()
loop.create_task(client.start("токен"))
loop.create_task(eel.start('index.html', size=(1500, 900)))
loop.run_forever()
Это должно сработать.