CLI: allow --provider flag for login/logout (default whatsapp)
This commit is contained in:
@@ -105,10 +105,12 @@ export function buildProgram() {
|
|||||||
.command("login")
|
.command("login")
|
||||||
.description("Link your personal WhatsApp via QR (web provider)")
|
.description("Link your personal WhatsApp via QR (web provider)")
|
||||||
.option("--verbose", "Verbose connection logs", false)
|
.option("--verbose", "Verbose connection logs", false)
|
||||||
|
.option("--provider <provider>", "Provider alias (default: whatsapp)")
|
||||||
.action(async (opts) => {
|
.action(async (opts) => {
|
||||||
setVerbose(Boolean(opts.verbose));
|
setVerbose(Boolean(opts.verbose));
|
||||||
try {
|
try {
|
||||||
await loginWeb(Boolean(opts.verbose));
|
const provider = opts.provider ?? "whatsapp";
|
||||||
|
await loginWeb(Boolean(opts.verbose), provider);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
defaultRuntime.error(danger(`Web login failed: ${String(err)}`));
|
defaultRuntime.error(danger(`Web login failed: ${String(err)}`));
|
||||||
defaultRuntime.exit(1);
|
defaultRuntime.exit(1);
|
||||||
@@ -118,8 +120,10 @@ export function buildProgram() {
|
|||||||
program
|
program
|
||||||
.command("logout")
|
.command("logout")
|
||||||
.description("Clear cached WhatsApp Web credentials")
|
.description("Clear cached WhatsApp Web credentials")
|
||||||
.action(async () => {
|
.option("--provider <provider>", "Provider alias (default: whatsapp)")
|
||||||
|
.action(async (opts) => {
|
||||||
try {
|
try {
|
||||||
|
void opts.provider; // placeholder for future multi-provider; currently web only.
|
||||||
await logoutWeb(defaultRuntime);
|
await logoutWeb(defaultRuntime);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
defaultRuntime.error(danger(`Logout failed: ${String(err)}`));
|
defaultRuntime.error(danger(`Logout failed: ${String(err)}`));
|
||||||
|
|||||||
@@ -14,9 +14,13 @@ import {
|
|||||||
|
|
||||||
export async function loginWeb(
|
export async function loginWeb(
|
||||||
verbose: boolean,
|
verbose: boolean,
|
||||||
|
provider = "whatsapp",
|
||||||
waitForConnection: typeof waitForWaConnection = waitForWaConnection,
|
waitForConnection: typeof waitForWaConnection = waitForWaConnection,
|
||||||
runtime: RuntimeEnv = defaultRuntime,
|
runtime: RuntimeEnv = defaultRuntime,
|
||||||
) {
|
) {
|
||||||
|
if (provider !== "whatsapp" && provider !== "web") {
|
||||||
|
throw new Error(`Unsupported provider: ${provider}`);
|
||||||
|
}
|
||||||
const sock = await createWaSocket(true, verbose);
|
const sock = await createWaSocket(true, verbose);
|
||||||
logInfo("Waiting for WhatsApp connection...", runtime);
|
logInfo("Waiting for WhatsApp connection...", runtime);
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user