Система репортов Discord.py

Рейтинг: 0Ответов: 1Опубликовано: 13.01.2023

Я пытаюсь сделать систему репортов, работает команда как /report сообщение , и далее данное сообщение должно прийти в определенный канал , но не приходит , я не могу понять в чем проблема и почему не работает, смотрел статьи как сделать так чтобы сообщение отправлялось в отдельный канал , но перепробовав несколько способов понял что ни один из них мне не помог.

@commands.command()
async def report(self,ctx):
    channel = bot.get_channel(int(1063486475620065282))
    repmessage = ctx.message.content
    await ctx.send(embed = discord.Embed(
        description = 
        f"**[REPORT]**" + '\n' +
        f"----------------------------------------------" + '\n' +
        f"**Репорт был успешно отправлен.**" + '\n' +
        "----------------------------------------------"))
    await channel.send(embed = discord.Embed(
        description = 
        f"**[REPORT]**" + '\n' +
        f"----------------------------------------------" + '\n' +
        f"Nick: {ctx.author}" + '\n' +
        f"ID: {ctx.author.id}" + '\n' +
        f"Сообщение: {repmessage[7:]}" + '\n' + 
        "----------------------------------------------"))

Ответы

▲ 0Принят

Вы не прикрепили ошибку. Значит будем гадать.

Во-первых, вы принимаете сообщение репорта с помощью {repmessage[7:]} это выглядит просто ужасно. Вы можете принимать сообщение репорта отдельным аргументом, например repmess:

@commands.command()
async def report(self, ctx, *, repmess):

И уже отправить сообщение:

    await channel.send(embed = discord.Embed(
        description = 
        f"**[REPORT]**" + '\n' +
        f"----------------------------------------------" + '\n' +
        f"Nick: {ctx.author}" + '\n' +
        f"ID: {ctx.author.id}" + '\n' +
        f"Сообщение: {repmess}" + '\n' + 
        "----------------------------------------------"))

Во-вторых, Вам не нужно использовать int в bot.get_channel:

    channel = bot.get_channel(1063486475620065282)

Так как это коги, ошибка скорее всего возникает из-за того что вы используете bot.get_channel, попробуйте:

    channel = self.bot.get_channel(1063486475620065282)

введите сюда описание изображения