{"action":"opened","issue":{"url":"https://api.github.com/repos/gawel/irc3/issues/38","labels_url":"https://api.github.com/repos/gawel/irc3/issues/38/labels{/name}","comments_url":"https://api.github.com/repos/gawel/irc3/issues/38/comments","events_url":"https://api.github.com/repos/gawel/irc3/issues/38/events","html_url":"https://github.com/gawel/irc3/issues/38","id":55556356,"number":38,"title":"Option to not keep trying new nick","user":{"login":"meshy","id":767671,"avatar_url":"https://avatars.githubusercontent.com/u/767671?v=3","gravatar_id":"","url":"https://api.github.com/users/meshy","html_url":"https://github.com/meshy","followers_url":"https://api.github.com/users/meshy/followers","following_url":"https://api.github.com/users/meshy/following{/other_user}","gists_url":"https://api.github.com/users/meshy/gists{/gist_id}","starred_url":"https://api.github.com/users/meshy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meshy/subscriptions","organizations_url":"https://api.github.com/users/meshy/orgs","repos_url":"https://api.github.com/users/meshy/repos","events_url":"https://api.github.com/users/meshy/events{/privacy}","received_events_url":"https://api.github.com/users/meshy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-27T00:01:35Z","updated_at":"2015-01-27T00:01:35Z","closed_at":null,"body":"I'm trying to write a client, but am finding the behaviour when the `nick` command fails a little frustrating.\r\n\r\nAs it currently stands, when the [`badnick`](https://github.com/gawel/irc3/blob/93a40f7c1acebbadf2cbd66be1a1805177703a70/irc3/plugins/core.py#L100-L106) method is called, a callback is set to retry the attempt again in 30 seconds. If the user picks a new nick in the interim (potentially a long time, as this callback is set repeatedly), and then the clashing nick disconnects, the user will get renamed, despite having already selected a new nick.\r\n\r\nI would like to forego this behaviour in my client but, as far as I can tell, I cannot remove this one line without duplicating the whole module into my program, as if I were to subclass the module, the old method would already have been registered as an event.\r\n\r\nHave I missed something --- is there a cleaner way for me to do this?\r\n\r\nIf there is no obvious way to fix this at the moment, I wonder if it would be desirable for me to refactor this module in some way to allow for easier extension, and if there are any suggestions for how I might proceed?\r\n\r\nThanks for taking the time to read this --- sorry that the report is little long!"}}