Как я знаю, нельзя читать сообщения до актива бота. Можно например хранить в текстовом файле как я, но когда бот не активен, это не работает
@bot.event
async def on_message(msg):
fopen = open('крутой текстовый файл', 'a')
fopen.write(f'\n {msg.author}: {msg.content} \n')
а весь код чтобы еще искать с временем
import discord
import time
import asyncio
import nest_asyncio
import random
import pyautogui as pag
from discord.ext import commands
from datetime import datetime
nest_asyncio.apply()
intents = discord.Intents.all()
intents.presences = True
intents.members = True
intents.message_content = True
config = {
'token':'токен да',
'prefix':'!'
}
bot = commands.Bot(command_prefix=config['prefix'], intents=intents)
@bot.event
async def on_message(msg):
if msg.author == bot.user:
return
if msg.content.startswith("find:"):
search = msg.content[5:].strip()
with open("D:\Python\IceUpgr\logs\msg.txt", mode="r") as read:
for line in read:
if search in line and line.startswith(f'{msg.guild.name}:'):
await msg.channel.send(line)
if msg.content == "!ты пройдешь":
pag.alert(f'{msg.author} alerted!', 'Discord')
else:
datetime_object = msg.created_at.strftime("%Y-%m-%d %H:%M:%S")
with open("D:\Python\IceUpgr\logs\msg.txt", mode="a") as file:
file.write(f'\n{msg.guild.name}: [{datetime_object}] {msg.author}: {msg.content} \n')
bot.run(config['token'])