27 lines
No EOL
893 B
JavaScript
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); |