From ed5f164092e9a84d486295e948c2015e7a2c1c37 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Thu, 21 May 2015 18:45:01 -0500 Subject: [PATCH] ircbot: guess at nickmask in __init__() some ircds don't lead to a welcome signal, so our attempts to set the nickmask there may never happen. guess at one first, in the event that _on_welcome() never fires --- dr_botzo/ircbot/bot.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dr_botzo/ircbot/bot.py b/dr_botzo/ircbot/bot.py index 72c5ce8..f9ccd12 100644 --- a/dr_botzo/ircbot/bot.py +++ b/dr_botzo/ircbot/bot.py @@ -7,6 +7,7 @@ import collections import copy import logging import re +import socket import ssl import sys @@ -304,6 +305,14 @@ class IRCBot(irc.client.SimpleIRCClient): self._nickname = settings.IRCBOT_NICKNAME self._realname = settings.IRCBOT_REALNAME + # guess at nickmask. hopefully _on_welcome() will set this, but this should be + # a pretty good guess if not + nick = self._nickname + user = self._nickname + host = socket.getfqdn() + self.nickmask = "{0:s}!~{1:s}@{2:s}".format(nick, user, host) + log.debug("guessing at nickmask '{0:s}'".format(self.nickmask)) + # handlers for i in ['disconnect', 'join', 'kick', 'mode', 'namreply', 'nick', 'part', 'quit', 'welcome']: self.connection.add_global_handler(i, getattr(self, '_on_' + i), -20)