I wanted to make a bot that mutes somone for 3 min when they curse. I am using repl.it for this Discord bot, so I though of using their implemented data base. My idea was to make a new key when someone curses at the time they did, as well as one for 3 minutes later. Then I needed a way to make a loop without stopping the whole program. I would then get the current time in that loop, and see if it is equal to the value that was set for three min after they cursed. There are probably many ways of making it easier, but im not sure how too. If any of you know, please give me an example it would be really apreciated!
now = datetime.now()
current_time = now.strftime("%H:%M")
if current_time in db.keys():
user = db[current_time]
user.remove_roles(discord.utils.get(user.guild.roles, name='Muted'))
if any (word in msg.lower() for word in curse_words):
user = message.author
await message.delete()
await message.channel.send(user.name + ", please do not curse!")
user.add_roles(discord.utils.get(user.guild.roles, name='Muted'))
unmute_time = now + datetime.timedelta(minutes = 3)
db[unmute_time] = user.name
question from:
https://stackoverflow.com/questions/65623231/muting-somone-for-3-minutes-discord-py 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…