fix(bot): 🐛 Deadlock in on_message.
This commit is contained in:
+18
-10
@@ -11,6 +11,8 @@ from discord.utils import find
|
|||||||
|
|
||||||
from tortoise import transactions
|
from tortoise import transactions
|
||||||
|
|
||||||
|
import asyncpg.exceptions
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
from payphone import bot
|
from payphone import bot
|
||||||
@@ -718,16 +720,22 @@ class Calls(base.Cog):
|
|||||||
wait=True,
|
wait=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
message_row = await models.Message.create(
|
while True:
|
||||||
id=message.id,
|
try:
|
||||||
call=call,
|
message_row = await models.Message.create(
|
||||||
channel=channel,
|
id=message.id,
|
||||||
user=user,
|
call=call,
|
||||||
profile=profile,
|
channel=channel,
|
||||||
mask=call_rs.mask if call_rs.is_masked else None,
|
user=user,
|
||||||
propagation_id=webhook_message.id if webhook_message else None,
|
profile=profile,
|
||||||
propagation_channel=other_channel if webhook_message else None,
|
mask=call_rs.mask if call_rs.is_masked else None,
|
||||||
)
|
propagation_id=webhook_message.id if webhook_message else None,
|
||||||
|
propagation_channel=other_channel if webhook_message else None,
|
||||||
|
)
|
||||||
|
break
|
||||||
|
|
||||||
|
except asyncpg.exceptions.DeadlockDetectedError:
|
||||||
|
continue
|
||||||
|
|
||||||
await models.MessageContent.create(
|
await models.MessageContent.create(
|
||||||
message=message_row,
|
message=message_row,
|
||||||
|
|||||||
Reference in New Issue
Block a user