0.6.5.(snapshot)-rev135 irc-nickchange relays

Bug #417476 reported by Getrix
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
BeBot
Fix Released
Medium
Thomas Juberg

Bug Description

IRC nickname changes are relayed to GC when "AnnounceTo"=none and UseGuildRelay=Off
There is no settings about the nickname changes on IRC. This bug/missing have been there from some versions as far i remember.

Settings:
AnnounceTo: none
Description: Where should joins and leaves to the irc channel be announced to?

UseGuildRelay: Off
Description: Should chat coming from IRC also be relayed over the guild relay if it's set up?

Revision history for this message
Thomas Juberg (thomas-juberg) wrote :

Thanks for the report. Fixed in bzr.

Changed in bebot:
assignee: nobody → Thomas Juberg (thomas-juberg)
importance: Undecided → Medium
milestone: none → 0.6.5
status: New → Fix Committed
Revision history for this message
Getrix (espein0) wrote :

Sorry to inform you, but the bot still relays nickchanges to guildchat.

Think the correct changes to function irc_nick would be something like this. Did some testing and it looked good:

function irc_nick(&$irc, &$data)
 {
  if ($data->nick != $this->bot->core("settings")->get("Irc", "Nick"))
  {
   unset($this -> irconline[strtolower($data -> nick)]);
   $this -> irconline[strtolower($data -> message)] = strtolower($data -> message);
  }

                if (strtolower($this->bot->core("settings")->get("Irc", "AnnounceTo")) != "none")
  {
   $txt = "##irc_group##" . $this -> bot -> core("settings") -> get("Irc", "Guildprefix") . "##end## ##irc_user##" . $data -> nick . "##end####irc_text## is known as##end## ##irc_user##" . $data -> message . "##end##";
          $this -> bot -> send_output("", $txt, $this -> bot -> core("settings") -> get("Irc", "Chat"));
  }

  if ($this -> bot -> core("settings") -> get("Irc", "Useguildrelay") && $this -> bot -> core("settings") -> get("Relay", "Relay"))
  {
   $this -> bot -> core("relay") -> relay_to_bot($txt);
  }

  $this -> bot -> db -> query("UPDATE #___online SET nickname = '".$data -> message."' WHERE botname = '".$this -> bot -> botname . " - IRC' AND nickname = '".$data -> nick."'");
 }

Getrix (espein0)
Changed in bebot:
status: Fix Committed → New
Revision history for this message
Thomas Juberg (thomas-juberg) wrote :

This is what happens when you mix alcohol with something that seems like a quick fix.

Your fix is partly correct, however we need $txt to be set as it is used in the next if() check.

A proper fix should be in bzr now, if not I'll look at it in the morning

Changed in bebot:
status: New → In Progress
Changed in bebot:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.