Get our hostname from WHO when we create fake events

This commit is contained in:
2022-08-09 07:20:30 +01:00
parent 220ce976f2
commit 813c9baf30
2 changed files with 12 additions and 3 deletions

View File

@@ -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):