Как мне зарегистрировать только содержимое сообщения канала с Discord.py ?

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

Я искал повсюду, и каждый ответ, который я нахожу, похоже, не работает. В настоящее время у меня есть:

 @client.command()
async def history(ctx):
    with open("file.txt", "w") as file:
        async for message in ctx.history(limit=1000):
            file.write(str(message.content   "n"))

    with open("file.txt", "rb") as file:
        await ctx.send("Your file is:", file=discord.File(file, "transcript.txt"))
    await ctx.send("Done!")
 

Все, что я хотел бы сделать, это получить содержимое сообщения и автора, добавить его в файл и предоставить пользователю этот файл. Если вы можете мне помочь, это было бы здорово!

Спасибо!

Ответ №1:

Вот метод, использующий вызываемую зависимость chat-exporter . Это даст вам очень организованный HTML-файл

Пример

 pip install chat-exporter
 

После установки используйте его следующим образом.

 import chat_exporter

@bot.event
async def on_ready():
    chat_exporter.init_exporter(bot) # to get the info if the user left the guild


@bot.command()
async def history(ctx):
    await chat_exporter.export(ctx)
 

GitHub