From ec943203d0ead17a30721bb1b7e034aebdcc1c2e Mon Sep 17 00:00:00 2001 From: Mark Veidemanis Date: Tue, 9 Aug 2022 07:20:30 +0100 Subject: [PATCH] Get our hostname from WHO when we create fake events --- api/views.py | 1 - core/bot.py | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/api/views.py b/api/views.py index 602bc50..e9b2ef6 100644 --- a/api/views.py +++ b/api/views.py @@ -482,7 +482,6 @@ class API(object): @app.route("/irc/msg////", methods=["PUT"]) @login_required def irc_send_message(self, request, net, num, channel): - print("IRC SEND", net, num, channel) try: data = loads(request.content.read()) except JSONDecodeError: diff --git a/core/bot.py b/core/bot.py index 81a74b0..47348e4 100644 --- a/core/bot.py +++ b/core/bot.py @@ -16,7 +16,7 @@ from twisted.words.protocols.irc import ( import main from core.relay import sendRelayNotification -from modules import chankeep, counters, helpers, monitor, regproc, userinfo +from modules import chankeep, counters, helpers, monitor, regproc, userinfo, userinfo from utils.dedup import dedup from utils.logging.debug import debug from utils.logging.log import error, log, warn @@ -253,7 +253,17 @@ class IRCBot(IRCClient): self.event(type="action", muser=user, channel=channel, msg=msg) def sendmsg(self, channel, msg): - self.event(type="self", mtype="msg", channel=channel, nick=self.nickname, msg=msg) + query = f"{self.nickname}!*@*" + us = list(userinfo.getWhoSingle(self.net, query)) + if len(us) > 0: + hostmask = us[0] + else: + # Close enough... + hostmask = f"{self.nickname}!*@{self.servername}" + warn(f"Could not get a hostname, using {hostmask}") + nick, ident, host = parsen(hostmask) + self.event(type="self", mtype="msg", channel=channel, nick=self.nickname, ident=ident, host=host, msg=msg) + self.event(type="msg", channel=channel, nick=self.nickname, ident=ident, host=host, msg=msg) self.msg(channel, msg) def get(self, var):