Changeset be13464e9f3f41936bea6b4cf5ad6acf965a82a6

Show
Ignore:
Timestamp:
08/11/08 11:10:23 (3 months ago)
Author:
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
git-committer:
Giuseppe Bilotta <giuseppe.bilotta@gmail.com> 1218438623 +0200
git-parent:

[daec89e4c32c683674720ab458902654528a5f47]

git-author:
Giuseppe Bilotta <giuseppe.bilotta@gmail.com> 1218438623 +0200
Message:

rfc2812: always return the actual Channel or User when handled

For consistency, all delegations now return the actual Channel object in
data[:channel] and the actual User object in data[:nick].

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lib/rbot/rfc2812.rb

    rdaec89e rbe13464  
    11531153          # channels, and "=" for others (public channels). 
    11541154          data[:channeltype] = argv[1] 
    1155           data[:channel] = argv[2] 
    1156  
    1157           chan = @server.channel(data[:channel]) 
     1155          data[:channel] = chan = @server.channel(argv[2]) 
    11581156 
    11591157          users = [] 
     
    11791177          @tmpusers += users 
    11801178        when RPL_ENDOFNAMES 
    1181           data[:channel] = argv[1] 
     1179          data[:channel] = @server.channel(argv[1]) 
    11821180          data[:users] = @tmpusers 
    11831181          handle(:names, data) 
     
    12411239          handle(:datastr, data) 
    12421240        when RPL_AWAY 
    1243           data[:nick] = argv[1] 
     1241          data[:nick] = user = @server.user(argv[1]) 
    12441242          data[:message] = argv[-1] 
    1245           user = @server.user(data[:nick]) 
    12461243          user.away = data[:message] 
    12471244          handle(:away, data) 
    12481245        when RPL_WHOREPLY 
    1249           data[:channel] = argv[1] 
     1246          data[:channel] = channel = @server.channel(argv[1]) 
    12501247          data[:user] = argv[2] 
    12511248          data[:host] = argv[3] 
    12521249          data[:userserver] = argv[4] 
    1253           data[:nick] = argv[5] 
     1250          data[:nick] = user = @server.user(argv[5]) 
    12541251          if argv[6] =~ /^(H|G)(\*)?(.*)?$/ 
    12551252            data[:away] = ($1 == 'G') 
     
    12641261          data[:hopcount], data[:real_name] = argv[7].split(" ", 2) 
    12651262 
    1266           user = @server.user(data[:nick]) 
    1267  
    12681263          user.user = data[:user] 
    12691264          user.host = data[:host] 
     
    12731268          # TODO hopcount 
    12741269          user.real_name = data[:real_name] 
    1275  
    1276           channel = @server.channel(data[:channel]) 
    12771270 
    12781271          channel.add_user(user, :silent=>true) 
     
    13421335          handle(:mode, data) 
    13431336        when RPL_CREATIONTIME 
    1344           data[:channel] = argv[1] 
     1337          data[:channel] = @server.channel(argv[1]) 
    13451338          data[:time] = Time.at(argv[2].to_i) 
    1346           @server.channel(data[:channel]).creation_time=data[:time] 
     1339          data[:channel].creation_time=data[:time] 
    13471340          handle(:creationtime, data) 
    13481341        when RPL_CHANNEL_URL 
    1349           data[:channel] = argv[1] 
     1342          data[:channel] = @server.channel(argv[1]) 
    13501343          data[:url] = argv[2] 
    1351           @server.channel(data[:channel]).url=data[:url].dup 
     1344          data[:channel].url=data[:url].dup 
    13521345          handle(:channel_url, data) 
    13531346        when ERR_NOSUCHNICK