попытка отправить встроенное сообщение на основе события event

#python #discord #discord.py #discord.py-rewrite

#python #Discord #discord.py #discord.py-переписать

Вопрос:

я пытаюсь создать регистратор удаленных сообщений на основе события всякий раз, когда сообщение удаляется

 snipe_message_author = None
snipe_message_id = None

@client.event
async def on_message_delete(message):

    global snipe_message_content
    global snipe_message_author
    global snipe_message_id

    snipe_message_content = message.content
    snipe_message_author = message.author.id
    snipe_message_id = message.id
    await asyncio.sleep(60)

    if message.id == snipe_message_id:
        snipe_message_author = None
        snipe_message_content = None
        snipe_message_id = None


@client.event
async def logs(ctx, message):
    if snipe_message_content==None:
        m == 1
    else:
        embed = discord.Embed(description=f"{snipe_message_content}")
        embed.set_footer(text=f"Sniped by {message.author.name}#{message.author.discriminator}")
        embed.set_author(name= f"<@{snipe_message_author}>")
        await message.channel.send(client.get_channel('channel id'), embed=embed)
        return
 

Я сталкиваюсь с проблемами с этой частью….

 @client.event
async def logs(ctx, message):
    if snipe_message_content==None:
        m == 1
    else:
        embed = discord.Embed(description=f"{snipe_message_content}")
        embed.set_footer(text=f"Sniped by {message.author.name}#{message.author.discriminator}")
        embed.set_author(name= f"<@{snipe_message_author}>")
        await message.channel.send(client.get_channel('channnelid'), embed=embed)
        return
 

Я пробовал использовать разные методы, но пока ни один из них не работал

Комментарии:

1. какая у вас проблема? Вы получаете сообщение об ошибке? всегда помещайте полное сообщение об ошибке (с указанием слова «Traceback») в queston (не комментарий) в виде текста (не скриншота). Есть и другая полезная информация.

Ответ №1:

Вам нужна команда?

 @client.command()
async def logs(ctx):
    global snipe_message_content
    if snipe_message_content==None:
        m = 1
    else:
        embed = discord.Embed(description=f"{snipe_message_content}")
        embed.set_footer(text=f"Sniped by {ctx.author.name}#{ctx.author.discriminator}")
        embed.set_author(name= f"<@{snipe_message_author}>")
        await ctx.send(embed=embed)
 

Комментарии:

1. Нет, у меня уже есть команда для этого «s» и «snipe», мне нужно событие, в котором, если сообщение было удалено, оно отправляет ссылку для встраивания с содержимым в нем без меня, фактически используя команду, поэтому я сказал «событие», а не команду

2. затем добавьте код в on_message_delete само событие, вы не сможете создавать свои собственные события