Задать вопрос
@6IXK1LL
Дебил

Как связать декоратор njit с декораторами discord.py?

привет, недавно начал писать бота
import discord;
from discord.ext import commands;

import asyncio
from numba import njit

bot = commands.Bot(
    command_prefix="!"
)

@bot.event
async def on_ready():
    print("СТАААРТ!!!!!!!!!!");

# @bot.command()
# async def test(ctx):
#     await ctx.send("ТЫ НЕ ЗЛОЙ ТЫ НЕ ЗЛОЙ ТЫ НЕ ЗЛОЙ ТЫ НЕ ЗЛОЙ");

# @bot.command()
# async def test2(ctx,arg):
#     await ctx.send(arg);

# @bot.command()
# async def test3(ctx,*,arg):
#     await ctx.send(arg);


# ENGLISH COMMANDS

bot.remove_command("help");

@bot.command()
@njit
async def help(ctx):
    author = ctx.message.author;
    sent_message = await ctx.send(author.mention,
        embed = discord.Embed(
            title = "Help",
            description = "**!ban** - ban users...\n**/unban** - unban users\n**/kick** - kick users\n\n**/mute** - mute users\n**/unmute** - unmute users",
            color = discord.Colour.from_rgb(245, 73, 73)
            )
        );
    await asyncio.sleep(15)
    await sent_message.delete()

@bot.command()
async def info(ctx):
    await ctx.send(
        embed = discord.Embed(author.mention,
            title = "Info",
            description = "впадлу писать",
            color = discord.Colour.from_rgb(245, 73, 73)
            )
        );

@bot.command()
async def ban(ctx,arg):
    pass

@bot.command()
async def unban(ctx,arg):
    pass

@bot.command()
async def mute(ctx,arg):
    pass

@bot.command()
async def unmute(ctx,arg):
    pass



bot.run("token");


И у меня возникла проблема:
Декоратор @njit в связке с @bot.command выдаёт ошибку.
Вопрос - можно ли это исправить?
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
Зачем? У вас там хайлоад? Нет? Ну и выдыхайте, пилите свой функционал.
Ответ написан
Комментировать
Ну видимо нельзя сочетать их.
Попробуйте отказаться от того, либо от другого.
Если откажетесь от bot.command, то придётся руками обработку событий писать, а если от njit, то немного упадёт скорость.
Если скорость важна, то проведи тесты производительности, и оцени критичность потерь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы