43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
// @ts-check
|
|
|
|
const assert = require("assert")
|
|
|
|
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", {
|
|
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)
|
|
})
|