Use JSON for sending messages

This commit is contained in:
Mark Veidemanis 2022-08-14 16:45:40 +01:00
parent f6f515b308
commit 1ce5a8228c
Signed by: m
GPG Key ID: 5ACFCEED46C0904F
2 changed files with 9 additions and 3 deletions

View File

@ -584,16 +584,19 @@ class API(object):
listinfo = chankeep.getListInfo(net)
return dumps({"success": True, "listinfo": listinfo})
@app.route("/irc/msg/<net>/<num>/<channel>/", methods=["PUT"])
@app.route("/irc/msg/<net>/<num>/", methods=["PUT"])
@login_required
def irc_send_message(self, request, net, num, channel):
def irc_send_message(self, request, net, num):
try:
data = loads(request.content.read())
except JSONDecodeError:
return "Invalid JSON"
if "msg" not in data:
return dumps({"success": False, "reason": "no msg."})
if "channel" not in data:
return dumps({"success": False, "reason": "no msg."})
msg = data["msg"]
channel = data["channel"]
if net not in main.network.keys():
return dumps({"success": False, "reason": "no such net."})
if not num.isdigit():

View File

@ -258,7 +258,10 @@ class IRCBot(IRCClient):
def sendmsg(self, channel, msg, in_query=False):
query = f"{self.nickname}!*@*"
us = list(userinfo.getWhoSingle(self.net, query))
res = userinfo.getWhoSingle(self.net, query)
if not res:
res = []
us = list(res)
if len(us) > 0:
hostmask = us[0]
else: