commands: add password param to /join

This commit is contained in:
delthas 2022-02-02 17:40:19 +01:00 committed by Simon Ser
parent 9f93e200ed
commit fab42ba2ee
3 changed files with 14 additions and 6 deletions

View file

@ -54,14 +54,18 @@ function markServerBufferUnread(app) {
}
const join = {
usage: "<name>",
usage: "<name> [password]",
description: "Join a channel",
execute: (app, args) => {
let channel = args[0];
if (!channel) {
throw new Error("Missing channel name");
}
app.open(channel);
if (args.length > 1) {
app.open(channel, null, args[1]);
} else {
app.open(channel);
}
},
};

View file

@ -1122,7 +1122,7 @@ export default class App extends Component {
client.monitor(target);
}
open(target, serverID) {
open(target, serverID, password) {
if (!serverID) {
serverID = State.getActiveServerID(this.state);
}
@ -1132,7 +1132,7 @@ export default class App extends Component {
this.switchBuffer({ server: serverID });
} else if (client.isChannel(target)) {
this.switchToChannel = target;
client.join(target).catch((err) => {
client.join(target, password).catch((err) => {
this.showError(err);
});
} else {

View file

@ -802,10 +802,14 @@ export default class Client extends EventTarget {
});
}
join(channel) {
join(channel, password) {
let params = [channel];
if (password) {
params.push(password);
}
let msg = {
command: "JOIN",
params: [channel],
params: params,
};
return this.roundtrip(msg, (msg) => {
switch (msg.command) {