summaryrefslogtreecommitdiff
path: root/airc.py
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-11-08 18:35:22 +0800
committerMistivia <i@mistivia.com>2025-11-08 18:35:22 +0800
commit2f61e32ea9486472e2bc9e024f7d4cd176ffba81 (patch)
treef4cdb781974ce11dcd7e9e55d9a5cad2c44da385 /airc.py
parentf445ac53f6bb7ec4ceebecdb47dc89e88aaf926a (diff)
fix irc privmsg bugHEADmaster
Diffstat (limited to 'airc.py')
-rw-r--r--airc.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/airc.py b/airc.py
index 55ea907..d3992b5 100644
--- a/airc.py
+++ b/airc.py
@@ -166,7 +166,10 @@ class Client:
async def send_raw(self, data: str):
if self._writer and self._is_connected:
- encoded_data = data.encode('utf-8') + b'\r\n'
+ encoded_data = data.encode('utf-8')
+ if len(encoded_data) > 500:
+ encoded_data = encoded_data[:500]
+ encoded_data = encoded_data + b'\r\n'
self._writer.write(encoded_data)
await self._writer.drain()
logging.debug(f"-> {data}")
@@ -174,7 +177,9 @@ class Client:
logging.error("Cannot send data: not connected.")
async def send_privmsg(self, target: str, text: str):
- await self.send_raw(f"PRIVMSG {target} :{text}")
+ lines = text.split('\n')
+ for line in text.split('\n'):
+ await self.send_raw(f"PRIVMSG {target} :{line}")
async def join(self, channel: str):
await self.send_raw(f"JOIN {channel}")