matrix-bot/login.js
2024-10-13 15:19:31 +02:00

27 lines
No EOL
893 B
JavaScript

import readline from "node:readline/promises";
import { stdin, stdout } from 'node:process';
import * as sdk from "matrix-js-sdk";
import { configDotenv } from "dotenv";
configDotenv();
const rl = readline.createInterface({ input: stdin, output: stdout });
const host = process.env.BASE_URL ?? "https://" + await rl.question("Server: https://");
const user = process.env.USER_ID ?? await rl.question("User ID: ");
const pass = process.env.PASSWORD ?? await rl.question("Password: ");
const client = sdk.createClient({ baseUrl: host });
const credentials = await client.loginWithPassword(user, pass);
console.log(`BASE_URL=${client.getHomeserverUrl()}
USER_ID=${credentials.user_id}
ACCESS_TOKEN=${credentials.access_token}
DEVICE_ID=${credentials.device_id}`);
await client.setDeviceDetails(credentials.device_id, {
display_name: "Matrix Bot"
});
client.stopClient();
process.exit(0);