Wenn Sie bei der Ausgabe von Text mit Bot den vorherigen Beitrag löschen und einen neuen veröffentlichen, Dies ist praktisch, da es als zuletzt gepostete Nachricht angezeigt wird.
Wenn der Beitrag jedoch in kurzer Zeit erstellt wird, wird der Beitrag möglicherweise zweimal angezeigt.
Es ist im Grunde ein Multithread-Sperrprozess, Bis jetzt funktioniert es gut, also werde ich die Quelle verlassen.
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