Update.
This commit is contained in:
parent
edeaceba25
commit
e0f9aca6ab
@ -33,6 +33,7 @@ class Bot:
|
|||||||
self.rpc = None
|
self.rpc = None
|
||||||
self.ws = None
|
self.ws = None
|
||||||
self.joined = set()
|
self.joined = set()
|
||||||
|
self.semaphore = asyncio.Semaphore(1)
|
||||||
|
|
||||||
async def on_init(self):
|
async def on_init(self):
|
||||||
logger.debug("Bot initialized.")
|
logger.debug("Bot initialized.")
|
||||||
@ -115,36 +116,38 @@ class Bot:
|
|||||||
await self.on_idle()
|
await self.on_idle()
|
||||||
|
|
||||||
message = None
|
message = None
|
||||||
|
data = None
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
data = await rpc.receive()
|
async iwth self.semaphore:
|
||||||
if not data:
|
data = await rpc.receive()
|
||||||
return
|
if not data:
|
||||||
|
return
|
||||||
event = "?"
|
|
||||||
try:
|
event = "?"
|
||||||
event = data.event
|
try:
|
||||||
except AttributeError:
|
event = data.event
|
||||||
pass
|
except AttributeError:
|
||||||
|
pass
|
||||||
try:
|
|
||||||
message = data.message.strip()
|
|
||||||
event = "message"
|
|
||||||
except AttributeError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if event == "?":
|
try:
|
||||||
continue
|
message = data.message.strip()
|
||||||
elif event == "message":
|
event = "message"
|
||||||
if not data.is_final:
|
except AttributeError:
|
||||||
continue
|
pass
|
||||||
break
|
|
||||||
|
if event == "?":
|
||||||
|
continue
|
||||||
|
elif event == "message":
|
||||||
|
if not data.is_final:
|
||||||
|
continue
|
||||||
|
break
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await getattr(self, "on_" + data.event)(**data.data)
|
await getattr(self, "on_" + data.event)(**data.data)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
logger.debug("Not implemented event: " + event)
|
logger.debug("Not implemented event: " + event)
|
||||||
|
|
||||||
if data.username == self.user["username"]:
|
if data.username == self.user["username"]:
|
||||||
await self.on_own_message(data.channel_uid, message)
|
await self.on_own_message(data.channel_uid, message)
|
||||||
elif message.startswith("ping"):
|
elif message.startswith("ping"):
|
||||||
|
Loading…
Reference in New Issue
Block a user