feat(core): bypass message action restrictions
This commit is contained in:
@@ -466,6 +466,10 @@
|
||||
"name": "Bypass Message Retention Policy",
|
||||
"description": "Prevents messages from being deleted after viewing them"
|
||||
},
|
||||
"bypass_message_action_restrictions": {
|
||||
"name": "Bypass Message Action Restrictions",
|
||||
"description": "Allows you to react to a snap without having opened it or to save an unsaveable message"
|
||||
},
|
||||
"remove_groups_locked_status": {
|
||||
"name": "Remove Groups Locked Status",
|
||||
"description": "Allows you to view group information after being kicked"
|
||||
|
||||
@@ -80,5 +80,6 @@ class MessagingTweaks : ConfigContainer() {
|
||||
val galleryMediaSendOverride = boolean("gallery_media_send_override") { nativeHooks() }
|
||||
val stripMediaMetadata = multiple("strip_media_metadata", "hide_caption_text", "hide_snap_filters", "hide_extras", "remove_audio_note_duration", "remove_audio_note_transcript_capability") { requireRestart() }
|
||||
val bypassMessageRetentionPolicy = boolean("bypass_message_retention_policy") { addNotices(FeatureNotice.UNSTABLE); requireRestart() }
|
||||
val bypassMessageActionRestrictions = boolean("bypass_message_action_restrictions") { requireRestart() }
|
||||
val removeGroupsLockedStatus = boolean("remove_groups_locked_status") { requireRestart() }
|
||||
}
|
||||
@@ -123,6 +123,7 @@ class FeatureManager(
|
||||
DisableMemoriesSnapFeed(),
|
||||
AccountSwitcher(),
|
||||
RemoveGroupsLockedStatus(),
|
||||
BypassMessageActionRestrictions(),
|
||||
)
|
||||
|
||||
initializeFeatures()
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package me.rhunk.snapenhance.core.features.impl.messaging
|
||||
|
||||
import me.rhunk.snapenhance.core.event.events.impl.BuildMessageEvent
|
||||
import me.rhunk.snapenhance.core.features.Feature
|
||||
import me.rhunk.snapenhance.core.features.FeatureLoadParams
|
||||
|
||||
class BypassMessageActionRestrictions : Feature("Bypass Message Action Restrictions", loadParams = FeatureLoadParams.ACTIVITY_CREATE_SYNC) {
|
||||
override fun onActivityCreate() {
|
||||
if (!context.config.messaging.bypassMessageActionRestrictions.get()) return
|
||||
context.event.subscribe(BuildMessageEvent::class, priority = 102) { event ->
|
||||
event.message.messageMetadata?.apply {
|
||||
isSaveable = true
|
||||
isReactable = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user