|
@@ -367,54 +367,58 @@ public class Twitter implements Parser, TwitterErrorHandler, TwitterRawHandler,
|
367
|
367
|
joinChannel(bits[1]);
|
368
|
368
|
} else if (bits[0].equalsIgnoreCase("WHOIS") && bits.length > 1) {
|
369
|
369
|
if (bits[1].equalsIgnoreCase(myServerName)) {
|
370
|
|
- sendNumericOutput(311, new String[]{":"+myServerName, "311", myself.getNickname(), bits[1], "user", myServerName, "*", "Psuedo-User for DMDirc "+myServerName+" plugin"});
|
371
|
|
- sendNumericOutput(312, new String[]{":"+myServerName, "312", myself.getNickname(), bits[1], myServerName, "DMDirc "+myServerName+" plugin"});
|
|
370
|
+ sendNumericOutput(311, new String[]{":" + myServerName, "311", myself.getNickname(), bits[1], "user", myServerName, "*", "Psuedo-User for DMDirc " + myServerName + " plugin"});
|
|
371
|
+ sendNumericOutput(312, new String[]{":" + myServerName, "312", myself.getNickname(), bits[1], myServerName, "DMDirc " + myServerName + " plugin"});
|
372
|
372
|
} else {
|
373
|
|
- final boolean forced = (bits.length > 2 && bits[1].equalsIgnoreCase(bits[2]));
|
374
|
|
- final TwitterUser user = (forced) ? api.getUser(bits[1], true) : api.getCachedUser(bits[1]);
|
|
373
|
+ final boolean forced = bits.length > 2 && bits[1].equalsIgnoreCase(bits[2]);
|
|
374
|
+ final TwitterUser user = forced ? api.getUser(bits[1], true) : api.getCachedUser(bits[1]);
|
375
|
375
|
|
376
|
376
|
if (user == null) {
|
377
|
|
- final String reason = (forced) ? "No such user found, see http://"+myAddress.getHost()+"/"+user.getScreenName() : "No such user found in cache, try /WHOIS "+bits[1]+" "+bits[1]+" to poll twitter (uses 1 API call) or try http://"+myAddress.getHost()+"/"+user.getScreenName();
|
378
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(401, new String[]{":"+myServerName, "401", myself.getNickname(), bits[1], reason});
|
|
377
|
+ final String reason = "No such user found" + (forced ? ", see" : "in cache, try /WHOIS " + bits[1] + " " + bits[1] + " to poll twitter (uses 1 API call) or try") + " http://" + myAddress.getHost() + "/" + bits[1];
|
|
378
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(401, new String[]{":" + myServerName, "401", myself.getNickname(), bits[1], reason});
|
379
|
379
|
} else {
|
380
|
380
|
// Time since last update
|
381
|
|
- final long secondsIdle = ((user.getStatus() != null) ? System.currentTimeMillis() - user.getStatus().getTime() : user.getRegisteredTime()) / 1000;
|
|
381
|
+ final long secondsIdle = (user.getStatus() == null ? user.getRegisteredTime() : System.currentTimeMillis() - user.getStatus().getTime()) / 1000;
|
382
|
382
|
final long signonTime = user.getRegisteredTime() / 1000;
|
383
|
383
|
|
384
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(311, new String[]{":"+myServerName, "311", myself.getNickname(), bits[1], "user", myServerName, "*", user.getRealName()+" (http://"+myAddress.getHost()+"/"+user.getScreenName()+")"});
|
|
384
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(311, new String[]{":" + myServerName, "311", myself.getNickname(), bits[1], "user", myServerName, "*", user.getRealName() + " (http://" + myAddress.getHost() + "/" + user.getScreenName() + ")"});
|
385
|
385
|
|
386
|
|
- final TwitterClientInfo client = (TwitterClientInfo)getClient(bits[1]);
|
|
386
|
+ final TwitterClientInfo client = (TwitterClientInfo) getClient(bits[1]);
|
387
|
387
|
if (client != null) {
|
388
|
388
|
final StringBuilder channelList = new StringBuilder();
|
389
|
389
|
|
390
|
390
|
for (ChannelClientInfo cci : client.getChannelClients()) {
|
391
|
|
- if (channelList.length() > 0) { channelList.append(" "); }
|
392
|
|
- channelList.append(cci.getImportantModePrefix()+cci.getChannel().getName());
|
|
391
|
+ if (channelList.length() > 0) {
|
|
392
|
+ channelList.append(' ');
|
|
393
|
+ }
|
|
394
|
+
|
|
395
|
+ channelList.append(cci.getImportantModePrefix());
|
|
396
|
+ channelList.append(cci.getChannel().getName());
|
393
|
397
|
}
|
394
|
398
|
|
395
|
399
|
if (channelList.length() > 0) {
|
396
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(319, new String[]{":"+myServerName, "319", myself.getNickname(), bits[1], channelList.toString()});
|
|
400
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(319, new String[]{":" + myServerName, "319", myself.getNickname(), bits[1], channelList.toString()});
|
397
|
401
|
}
|
398
|
402
|
}
|
399
|
403
|
|
400
|
404
|
// AWAY Message Abuse!
|
401
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "URL: "+user.getURL()});
|
402
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "Bio: "+user.getDescription()});
|
403
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "Location: "+user.getLocation()});
|
404
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "Status: "+user.getStatus().getText()});
|
|
405
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "URL: " + user.getURL()});
|
|
406
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "Bio: " + user.getDescription()});
|
|
407
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "Location: " + user.getLocation()});
|
|
408
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "Status: " + user.getStatus().getText()});
|
405
|
409
|
if (bits[1].equalsIgnoreCase(myself.getNickname())) {
|
406
|
410
|
final Long[] apiCalls = api.getRemainingApiCalls();
|
407
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "API Allowance: "+apiCalls[1]});
|
408
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "API Allowance Remaining: "+apiCalls[0]});
|
409
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":"+myServerName, "301", myself.getNickname(), bits[1], "API Calls Used: "+apiCalls[3]});
|
|
411
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "API Allowance: " + apiCalls[1]});
|
|
412
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "API Allowance Remaining: " + apiCalls[0]});
|
|
413
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(301, new String[]{":" + myServerName, "301", myself.getNickname(), bits[1], "API Calls Used: " + apiCalls[3]});
|
410
|
414
|
}
|
411
|
415
|
|
412
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(312, new String[]{":"+myServerName, "312", myself.getNickname(), bits[1], myServerName, "DMDirc "+myServerName+" plugin"});
|
413
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(317, new String[]{":"+myServerName, "317", myself.getNickname(), bits[1], Long.toString(secondsIdle), Long.toString(signonTime), "seconds idle, signon time"});
|
|
416
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(312, new String[]{":" + myServerName, "312", myself.getNickname(), bits[1], myServerName, "DMDirc " + myServerName + " plugin"});
|
|
417
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(317, new String[]{":" + myServerName, "317", myself.getNickname(), bits[1], Long.toString(secondsIdle), Long.toString(signonTime), "seconds idle, signon time"});
|
414
|
418
|
}
|
415
|
419
|
}
|
416
|
420
|
|
417
|
|
- getCallbackManager().getCallbackType(NumericListener.class).call(318, new String[]{":"+myServerName, "318", myself.getNickname(), bits[1], "End of /WHOIS list."});
|
|
421
|
+ getCallbackManager().getCallbackType(NumericListener.class).call(318, new String[]{":" + myServerName, "318", myself.getNickname(), bits[1], "End of /WHOIS list."});
|
418
|
422
|
} else if (bits[0].equalsIgnoreCase("INVITE") && bits.length > 2) {
|
419
|
423
|
if (bits[2].equalsIgnoreCase(mainChannelName)) {
|
420
|
424
|
final TwitterUser user = api.addFriend(bits[1]);
|
|
@@ -450,7 +454,7 @@ public class Twitter implements Parser, TwitterErrorHandler, TwitterRawHandler,
|
450
|
454
|
/** {@inheritDoc} */
|
451
|
455
|
@Override
|
452
|
456
|
public boolean isValidChannelName(final String name) {
|
453
|
|
- return (name.matches("^&[0-9]+$") || name.equalsIgnoreCase(mainChannelName) || name.startsWith("#"));
|
|
457
|
+ return name.matches("^&[0-9]+$") || name.equalsIgnoreCase(mainChannelName) || name.startsWith("#");
|
454
|
458
|
}
|
455
|
459
|
|
456
|
460
|
/** {@inheritDoc} */
|