[Cherbot-commit] SF.net SVN: cherbot: [78] trunk/src/net/sf/cherbot/IRCConnection.java
Status: Alpha
Brought to you by:
christianhujer
|
From: <chr...@us...> - 2007-06-17 18:12:29
|
Revision: 78
http://svn.sourceforge.net/cherbot/?rev=78&view=rev
Author: christianhujer
Date: 2007-06-17 11:12:21 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Improved IRC channel handling, added some missing flush()s.
Modified Paths:
--------------
trunk/src/net/sf/cherbot/IRCConnection.java
Modified: trunk/src/net/sf/cherbot/IRCConnection.java
===================================================================
--- trunk/src/net/sf/cherbot/IRCConnection.java 2007-06-17 17:35:37 UTC (rev 77)
+++ trunk/src/net/sf/cherbot/IRCConnection.java 2007-06-17 18:12:21 UTC (rev 78)
@@ -106,9 +106,8 @@
assert out != null;
final BufferedReader in = this.in;
assert in != null;
- for (final String initialChannel : args) {
- out.println("JOIN " + initialChannel);
- out.flush();
+ for (final String channelName : args) {
+ join(channelName);
}
final Pattern pattern = Pattern.compile("^:([^!]+)!([^ ]+) PRIVMSG ([^ ]+) :(.*)$");
final Matcher matcher = pattern.matcher("");
@@ -120,12 +119,15 @@
if (nickname.equals(actor)) {
continue;
}
- //final String actorIdentity = matcher.group(2);
- //final String channel = matcher.group(3);
+ final String actorIdentity = matcher.group(2);
+ final String channelName = matcher.group(3);
final String message = matcher.group(4);
- System.out.println("<" + actor + "> " + message);
- //out.println("PRIVMSG " + (channel.startsWith("#") ? channel : actor) + " :" + "you said: " + message);
- //out.flush();
+ Channel channel = channels.get(channelName);
+ if (channel == null) {
+ // TODO: Create channel on demand.
+ }
+ System.out.println(channel);
+ //channel.send("You are: " + actorIdentity + " and said: " + message);
}
}
return 0;
@@ -135,13 +137,15 @@
}
/** Joins an IRC channel.
- * @param channelName name of the channel to join.
+ * @param rawChannelName name of the channel to join.
* @return The channel that was just joined.
*/
- public Channel join(@NotNull final String channelName) {
+ public Channel join(@NotNull final String rawChannelName) {
+ final String channelName = rawChannelName.toLowerCase();
final PrintWriter out = this.out;
assert out != null;
out.println("JOIN " + channelName);
+ out.flush();
IRCChannel channel = channels.get(channelName);
if (channels.get(channelName) == null) {
channel = new IRCChannel(channelName);
@@ -203,6 +207,7 @@
final PrintWriter out = IRCConnection.this.out;
if (out != null) {
out.println("PRIVMSG " + getChannelName() + " :" + msg);
+ out.flush();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|