Как сделать, чтобы можно было выдавать варн на время и чтобы по истечении времени варн удалялся из базы данных

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

Написал команду варна, но как сделать, чтобы можно было выдавать варн на время и чтобы по истечении времени варн удалялся из базы данных.

Код:

cluster = MongoClient(uri)
collusers = cluster.warnsdb.collusers
collservers = cluster.warnsdb.collserver

@bot.slash_command(name="warn")
async def give_warn(ctx, member: disnake.Member, resaon=None):
        collusers.update_one(
            {
                "_id": member.id,
                "guild_id": ctx.guild.id
            },
            {
                "$inc": {
                    "warns": 1
                },
                "$push": {
                    "reasons": {
                        "author_id": ctx.author.id,
                        "case": collservers.find_one({"_id": ctx.guild.id})["case"],
                        "reason": resaon
                    }
                }
            }
        )

        await ctx.send(f"{member.mention} успешно получил предупреждение на {time}, по причине {resaon} | случай: {collservers.find_one({'_id': ctx.guild.id})['case']}")

Пробовал добавлять

time_convert = {"s": 1, "m": 60, "h": 3600, "d": 86400}

и

temp_warn = int(time[:-1]) * time_convert[time[-1]]

но оно удаляло только 1 варн с бд, а причину и случай оставлял.

Ответы

Ответов пока нет.