preparations for creating users

This commit is contained in:
Cadence Ember 2023-05-08 08:27:42 +12:00
parent 3fbe7eed6e
commit 48c2ef76f5
2 changed files with 46 additions and 16 deletions

View file

@ -1,8 +1,30 @@
// @ts-check // @ts-check
const reg = require("../../matrix/read-registration.js") const assert = require("assert")
const fetch = require("node-fetch").default
const passthrough = require("../../passthrough")
const { discord, sync, db } = passthrough
/** @type {import("../../matrix/mreq")} */
const mreq = sync.require("../../matrix/mreq")
/** @type {import("../../matrix/file")} */
const file = sync.require("../../matrix/file")
async function registerUser(username) {
assert.ok(username.startsWith("_ooye_"))
/** @type {import("../../types").R.Registered} */
const res = await mreq.mreq("POST", "/client/v3/register", {
type: "m.login.application_service",
username
})
return res
}
/**
* A sim is an account that is being simulated by the bridge to copy events from the other side.
* @param {import("discord-api-types/v10").APIUser} user
*/
async function createSim(user) {
assert.notEqual(user.discriminator, "0000", "user is not a webhook")
fetch("https://matrix.cadence.moe/_matrix/client/v3/register", { fetch("https://matrix.cadence.moe/_matrix/client/v3/register", {
method: "POST", method: "POST",
body: JSON.stringify({ body: JSON.stringify({
@ -13,7 +35,7 @@ fetch("https://matrix.cadence.moe/_matrix/client/v3/register", {
Authorization: `Bearer ${reg.as_token}` Authorization: `Bearer ${reg.as_token}`
} }
}).then(res => res.text()).then(text => { }).then(res => res.text()).then(text => {
// {"user_id":"@_ooye_example:cadence.moe","home_server":"cadence.moe","access_token":"XXX","device_id":"XXX"}
console.log(text) console.log(text)
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)

8
types.d.ts vendored
View file

@ -46,4 +46,12 @@ namespace R {
export type FileUploaded = { export type FileUploaded = {
content_uri: string content_uri: string
} }
export type Registered = {
/** "@localpart:domain.tld" */
user_id: string
home_server: string
access_token: string
device_id: string
}
} }