Как сделать, чтобы можно было выдавать варн на время и чтобы по истечении времени варн удалялся из базы данных
Написал команду варна, но как сделать, чтобы можно было выдавать варн на время и чтобы по истечении времени варн удалялся из базы данных.
Код:
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 варн с бд, а причину и случай оставлял.
Источник: Stack Overflow на русском