Можно ли заставить бота Discord распечатывать текст из файла .log? (Получены некоторые ошибки)Python

Программы на Python
Ответить
Anonymous
 Можно ли заставить бота Discord распечатывать текст из файла .log? (Получены некоторые ошибки)

Сообщение Anonymous »

Я пытаюсь заставить бота Discord распечатать определенный текст из файла .log с помощью декоратора @event.command, но он показывает ошибки. Бот Discord будет распечатывать текст только в том случае, если строка текста содержит ВАЖНО:
кроме того, файл журнала в этой ситуации постоянно обновляется и добавляет текст. Я использую Windows 10 с Python 3.10.11.
Я видел документацию о боте, читающем определенный текст, а затем записывающем его в текстовый файл, но ни один из них не показывает, как копировать напрямую из файла .log. а затем распечатать его в Discord. Я ожидал увидеть, как бот выплюнет текст с надписью ВАЖНО: в строках файла журнала. но как только я набираю ?run, я получаю только ошибки, я новичок в Python, поэтому мне бы хотелось увидеть основные исправления синтаксиса, а также ошибки в структуре кода,
Вот какие ошибки я получаю.

Traceback (последний последний вызов): Файл "C:\\Users\\\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\discord\\ext\\commands\\core.py", строка 235, в завернутом ret = await coro(\*args, \*\*kwargs) Файл «C:\\Users\\*USER\\OneDrive\\Desktop\\DiscordBot\\main.py», строка 18, следующая за строкой в ​​строках журнала: TypeError: объект «coroutine» не повторяетсяВышеупомянутое исключение было
непосредственной причиной следующего исключения:
Traceback (последний вызов): File "C:\\Users\\*\*USER\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\discord\\ext\\commands\\bot.py" , строка 1366, в вызове ждут ctx.command.invoke(ctx) Файл "C:\\Users|\\\*USER\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\discord\\ext\\commands\\core.py" , строка 1029, в вызове await инъекции(\*ctx.args, \*\*ctx.kwargs) # тип: игнорировать файл "C:\\Users\\\*USER\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\discord\\ext\\commands\\core.py", строка 244, в обернутом подъеме CommandInvokeError(exc) из exc discord.ext.commands.errors.CommandInvokeError: Команда вызвала ошибку исключение: TypeError: объект «сопрограмма» не является итерируемым C:\\Users\\\*USER\\AppData\\Local\\Programs\\Python\\Python310\\lib\\asyncio\\events.py:80: RuntimeWarning: сопрограмма «Command.\__call_\_» никогда не ожидалась self.\_context.run(self.\_callback, \*self.\_args) RuntimeWarning: включите трассировку, чтобы получить обратную трассировку выделения объекта

Вот мой код:
import discord
import time, os
from discord.ext import commands

@client.event
async def coroutine(ctx, *args):
print("Bot Is Ready")

@client.command()
async def run(thefile):
if __name__ == "__main__":
logfile = open(os.getenv("APPDATA")+"/.directory/logs/announcement.log", "r")
loglines = follow(logfile)
for line in loglines:
if "IMPORTANT:" in line:
await print (line)

client.run("token is here")


Подробнее здесь: https://stackoverflow.com/questions/792 ... e-received
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»