preparations for creating users

This commit is contained in:
Cadence Ember 2023-05-08 08:27:42 +12:00
parent 9395a85e9b
commit 6ddf19e8cd
2 changed files with 46 additions and 16 deletions

View File

@ -1,20 +1,42 @@
// @ts-check
const reg = require("../../matrix/read-registration.js")
const fetch = require("node-fetch").default
const assert = require("assert")
fetch("https://matrix.cadence.moe/_matrix/client/v3/register", {
method: "POST",
body: JSON.stringify({
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: "_ooye_example"
}),
headers: {
Authorization: `Bearer ${reg.as_token}`
}
}).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)
}).catch(err => {
console.log(err)
})
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", {
method: "POST",
body: JSON.stringify({
type: "m.login.application_service",
username: "_ooye_example"
}),
headers: {
Authorization: `Bearer ${reg.as_token}`
}
}).then(res => res.text()).then(text => {
console.log(text)
}).catch(err => {
console.log(err)
})

8
types.d.ts vendored
View File

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