shrlok: prefix message length
This commit is contained in:
parent
4d7be3d9d8
commit
9c78abd7f3
|
@ -62,7 +62,7 @@ class Bot(irc.client.SimpleIRCClient, Logger):
|
|||
with open(self.config["storage_file"], "wt") as storage_file:
|
||||
json.dump(self.storage, storage_file, indent=2, sort_keys=True)
|
||||
self.log_d("Saved storage file.")
|
||||
except (OSError, json.decoder.JSONEncodeError) as exc:
|
||||
except OSError as exc:
|
||||
self.log_e(f"Could not save storage file: {exc}")
|
||||
|
||||
def on_welcome(self, connection, event):
|
||||
|
|
|
@ -4,7 +4,11 @@ from edmond.plugin import Plugin
|
|||
|
||||
|
||||
class ShrlokPlugin(Plugin):
|
||||
"""Use an available shrlok server to allow sharing longer stuff."""
|
||||
"""Use an available shrlok server to allow sharing longer stuff.
|
||||
|
||||
This plugin does not do anything on its own, but can be used from other
|
||||
plugins to share longer texts through a Web portal.
|
||||
"""
|
||||
|
||||
def __init__(self, bot):
|
||||
super().__init__(bot)
|
||||
|
@ -22,15 +26,18 @@ class ShrlokPlugin(Plugin):
|
|||
self.url_root = self.config["url_root"]
|
||||
self.bot.log_d(f"shrlok socket path '{self.socket}'")
|
||||
else:
|
||||
self.bot.log_i("No socket path specified, shrlok plugin disabled.")
|
||||
self.bot.log_d("No socket path specified, shrlok plugin disabled.")
|
||||
self.is_ready = False
|
||||
|
||||
def post_text(self, content):
|
||||
try:
|
||||
with socket.socket(socket.AF_UNIX, socket.SOCKET_STREAM) as sock:
|
||||
with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock:
|
||||
sock.connect(self.socket)
|
||||
sock.sendall(content.encode())
|
||||
data = b'{"type":"txt"}\0' + content.encode()
|
||||
sock.sendall(str(len(data)).encode() + b"\0" + data)
|
||||
response = sock.recv(4096)
|
||||
except OSError as exc:
|
||||
self.bot.log_e(f"Can't write text file: {exc}")
|
||||
self.bot.log_i("socket replied with: " + response.decode())
|
||||
self.bot.log_e(f"Can't post text file: {exc}")
|
||||
return None
|
||||
url = response.decode().replace(self.file_root, self.url_root, count=1)
|
||||
return url
|
||||
|
|
Loading…
Reference in a new issue