From 140c06fd5e67c60a1e1d2063707b845ea05b0ba8 Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Sat, 10 Sep 2011 23:21:03 +0000 Subject: [PATCH] Add support for changing the nickname. FossilOrigin-Name: 117cdc960f27ad17952e6c2c618b7714d82216717aa623b81a7bb24a6f5ab658 --- src/IRCConnection.h | 1 + src/IRCConnection.m | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/IRCConnection.h b/src/IRCConnection.h index c7c250c..484a550 100644 --- a/src/IRCConnection.h +++ b/src/IRCConnection.h @@ -105,5 +105,6 @@ - (void)kickUser: (IRCUser*)user fromChannel: (IRCChannel*)channel withReason: (OFString*)reason; +- (void)changeNicknameTo: (OFString*)nickname; - (void)handleConnection; @end diff --git a/src/IRCConnection.m b/src/IRCConnection.m index afb597b..f5ff611 100644 --- a/src/IRCConnection.m +++ b/src/IRCConnection.m @@ -158,6 +158,11 @@ channel.name, user.nickname, reason]; } +- (void)changeNicknameTo: (OFString*)nickname_ +{ + [self sendLineWithFormat: @"NICK %@", nickname_]; +} + - (void)handleConnection { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; @@ -338,6 +343,11 @@ user = [IRCUser IRCUserWithString: who]; + if ([user.nickname isEqual: nickname]) { + [nickname release]; + nickname = [user.nickname copy]; + } + if ([delegate respondsToSelector: @selector(connection:didSeeUser:changeNicknameTo:)]) [delegate connection: self