Compare commits

..

3 commits

6 changed files with 11 additions and 6 deletions

View file

@ -147,7 +147,8 @@ async function channelToKState(channel, guild, di) {
"m.room.power_levels/": { "m.room.power_levels/": {
events_default: everyoneCanSend ? 0 : 50, events_default: everyoneCanSend ? 0 : 50,
events: { events: {
"m.reaction": 0 "m.reaction": 0,
"m.room.redaction": 0 // only affects redactions of own events, required to be able to un-react
}, },
notifications: { notifications: {
room: everyoneCanMentionEveryone ? 0 : 20 room: everyoneCanMentionEveryone ? 0 : 20

View file

@ -154,7 +154,8 @@ test("channel2room: read-only discord channel", async t => {
"m.room.power_levels/": { "m.room.power_levels/": {
events_default: 50, // <-- it should be read-only! events_default: 50, // <-- it should be read-only!
events: { events: {
"m.reaction": 0 "m.reaction": 0,
"m.room.redaction": 0
}, },
notifications: { notifications: {
room: 20, room: 20,

View file

@ -148,10 +148,10 @@ async function fetchMessage(messageID) {
try { try {
var res = await fetch(`https://api.pluralkit.me/v2/messages/${messageID}`) var res = await fetch(`https://api.pluralkit.me/v2/messages/${messageID}`)
if (res.ok) return res.json() if (res.ok) return res.json()
var errorGetter = res.json var errorGetter = () => res.json()
} catch (e) { } catch (e) {
// Catch any network issues too. // Catch any network issues too.
errorGetter = e.toString errorGetter = () => e.toString()
} }
// I think the backend needs some time to update. // I think the backend needs some time to update.

View file

@ -62,7 +62,7 @@ async function resolvePendingFiles(message) {
/** @param {Ty.Event.Outer_M_Room_Message | Ty.Event.Outer_M_Room_Message_File | Ty.Event.Outer_M_Sticker} event */ /** @param {Ty.Event.Outer_M_Room_Message | Ty.Event.Outer_M_Room_Message_File | Ty.Event.Outer_M_Sticker} event */
async function sendEvent(event) { async function sendEvent(event) {
const row = select("channel_room", ["channel_id", "thread_parent"], {room_id: event.room_id}).get() const row = select("channel_room", ["channel_id", "thread_parent"], {room_id: event.room_id}).get()
if (!row) return // allow the bot to exist in unbridged rooms, just don't do anything with it if (!row) return [] // allow the bot to exist in unbridged rooms, just don't do anything with it
let channelID = row.channel_id let channelID = row.channel_id
let threadID = undefined let threadID = undefined
if (row.thread_parent) { if (row.thread_parent) {

View file

@ -187,6 +187,7 @@ sync.addTemporaryListener(as, "type:m.room.message", guard("m.room.message",
async event => { async event => {
if (utils.eventSenderIsFromDiscord(event.sender)) return if (utils.eventSenderIsFromDiscord(event.sender)) return
const messageResponses = await sendEvent.sendEvent(event) const messageResponses = await sendEvent.sendEvent(event)
if (!messageResponses.length) return
if (event.type === "m.room.message" && event.content.msgtype === "m.text") { if (event.type === "m.room.message" && event.content.msgtype === "m.text") {
// @ts-ignore // @ts-ignore
await matrixCommandHandler.execute(event) await matrixCommandHandler.execute(event)

View file

@ -75,7 +75,8 @@ module.exports = {
"m.room.power_levels/": { "m.room.power_levels/": {
events_default: 0, events_default: 0,
events: { events: {
"m.reaction": 0 "m.reaction": 0,
"m.room.redaction": 0
}, },
users: { users: {
"@test_auto_invite:example.org": 100 "@test_auto_invite:example.org": 100
@ -3025,6 +3026,7 @@ module.exports = {
}, },
webhook_id: "1109360903096369153" webhook_id: "1109360903096369153"
}, },
reply_with_only_embed: { reply_with_only_embed: {
type: 19, type: 19,
tts: false, tts: false,