Lors de la sortie de texte avec bot, si vous supprimez le message précédent et en publiez un nouveau, C'est pratique car il est affiché comme le dernier message publié.
Cependant, si la publication est faite dans un court laps de temps, la publication peut être affichée deux fois.
C'est fondamentalement un processus de verrouillage multi-thread, Cela fonctionne bien jusqu'à présent, alors je vais laisser la source.
class RenewalMessage():
def __init__(self, channel):
self.lastmessage = None
self.outputlock = 0
self.channel = channel
async def SendMessage(self, message):
if self.outputlock == 1: return
try:
while self.outputlock != 0:
await asyncio.sleep(1)
if self.lastmessage is not None:
self.outputlock = 1
try:
await self.lastmessage.delete()
except discord.errors.NotFound:
pass
self.lastmessage = None
try:
self.outputlock = 2
self.lastmessage = await self.channel.send(message)
except discord.errors.Forbidden:
pass
finally:
self.outputlock = 0