def must_use_temp_nick(cli, *etc): users.Bot.nick += "_" users.Bot.change_nick() cli.user(botconfig.NICK, "") # TODO: can we remove this? hook.unhook(239) hook("unavailresource", hookid=240)(mustrelease) hook("nicknameinuse", hookid=241)(mustregain)
def prepare_stuff(cli, prefix, *args): from src import lagcheck alog("Received end of MOTD from {0}".format(prefix)) # This callback only sets up event listeners wolfgame.connect_callback() # just in case we haven't managed to successfully auth yet if botconfig.PASS and not botconfig.SASL_AUTHENTICATION: cli.ns_identify(botconfig.USERNAME or botconfig.NICK, botconfig.PASS, nickserv=var.NICKSERV, command=var.NICKSERV_IDENTIFY_COMMAND) # give bot operators an opportunity to do some custom stuff here if they wish event = Event("irc_connected", {}) event.dispatch(var, cli) # don't join any channels if we're just doing a lag check if not lagcheck: channels.Main = channels.add(botconfig.CHANNEL, cli) channels.Dummy = channels.add("*", cli) if botconfig.ALT_CHANNELS: for chan in botconfig.ALT_CHANNELS.split(","): channels.add(chan, cli) if botconfig.DEV_CHANNEL: channels.Dev = channels.add(botconfig.DEV_CHANNEL, cli) if var.LOG_CHANNEL: channels.add(var.LOG_CHANNEL, cli) else: alog("Preparing lag check") # if we ARE doing a lagcheck, we need at least our own host or things break users.Bot.who() users.Bot.change_nick(botconfig.NICK) if var.SERVER_PING_INTERVAL > 0: def ping_server_timer(cli): ping_server(cli) t = threading.Timer(var.SERVER_PING_INTERVAL, ping_server_timer, args=(cli, )) t.daemon = True t.start() ping_server_timer(cli) hook.unhook(294)
def latency_pong(cli, server, target, ts): lat = round(time.time() - float(ts), 3) wrapper.reply(messages["latency"].format(lat)) hook.unhook(300)