Implement VERSION

This commit is contained in:
Les De Ridder 2017-03-22 17:16:43 +01:00
parent 5c67c483ab
commit cfc1345682
No known key found for this signature in database
GPG Key ID: 5EC132DFA85DB372
2 changed files with 19 additions and 0 deletions

View File

@ -165,6 +165,10 @@ class Connection
if(!registered) sendErrNotRegistered();
else onInvite(message);
break;
case "VERSION":
if(!registered) sendErrNotRegistered();
else onVersion(message);
break;
default:
writeln("unknown command '", message.command, "'");
send(Message(_server.name, "421", [nick, message.command, "Unknown command"]));
@ -569,6 +573,16 @@ class Connection
}
}
void onVersion(Message message)
{
if(message.parameters.length > 0)
{
notImplemented("querying the version of another server");
return;
}
_server.sendVersion(this);
}
void sendWhoReply(string channel, Connection user, uint hopCount)
{
auto flags = user.modes.canFind('a') ? "G" : "H";

View File

@ -251,6 +251,11 @@ class Server
connection.sendRplListEnd();
}
void sendVersion(Connection connection)
{
connection.send(Message(name, "351", [connection.nick, versionString ~ ".", name, ""], true));
}
void invite(Connection inviter, string target, string channelName)
{
auto user = connections.find!(c => c.nick = target)[0];