aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/quickReply
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/quickReply')
-rw-r--r--src/plugins/quickReply/README.md6
-rw-r--r--src/plugins/quickReply/index.ts25
2 files changed, 18 insertions, 13 deletions
diff --git a/src/plugins/quickReply/README.md b/src/plugins/quickReply/README.md
new file mode 100644
index 0000000..bd30679
--- /dev/null
+++ b/src/plugins/quickReply/README.md
@@ -0,0 +1,6 @@
+# QuickReply
+
+Reply to (ctrl + up/down) and edit (ctrl + shift + up/down) messages via keybinds
+
+![](https://github.com/Vendicated/Vencord/assets/55940580/df79a27a-6529-4c70-8870-3c17d3637e4f)
+
diff --git a/src/plugins/quickReply/index.ts b/src/plugins/quickReply/index.ts
index 06797bc..7a39ec0 100644
--- a/src/plugins/quickReply/index.ts
+++ b/src/plugins/quickReply/index.ts
@@ -20,7 +20,7 @@ import { definePluginSettings, Settings } from "@api/Settings";
import { Devs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
import { findByPropsLazy } from "@webpack";
-import { ChannelStore, FluxDispatcher as Dispatcher, MessageStore, SelectedChannelStore, UserStore } from "@webpack/common";
+import { ChannelStore, FluxDispatcher as Dispatcher, MessageStore, PermissionsBits, PermissionStore, SelectedChannelStore, UserStore } from "@webpack/common";
import { Message } from "discord-types/general";
const Kangaroo = findByPropsLazy("jumpToMessage");
@@ -172,6 +172,7 @@ function shouldMention(message) {
// handle next/prev reply
function nextReply(isUp: boolean) {
+ if (!PermissionStore.can(PermissionsBits.SEND_MESSAGES, ChannelStore.getChannel(SelectedChannelStore.getChannelId()))) return;
const message = getNextMessage(isUp, true);
if (!message)
@@ -179,7 +180,6 @@ function nextReply(isUp: boolean) {
type: "DELETE_PENDING_REPLY",
channelId: SelectedChannelStore.getChannelId(),
});
-
const channel = ChannelStore.getChannel(message.channel_id);
const meId = UserStore.getCurrentUser().id;
@@ -196,21 +196,20 @@ function nextReply(isUp: boolean) {
// handle next/prev edit
function nextEdit(isUp: boolean) {
+ if (!PermissionStore.can(PermissionsBits.SEND_MESSAGES, ChannelStore.getChannel(SelectedChannelStore.getChannelId()))) return;
const message = getNextMessage(isUp, false);
if (!message)
- Dispatcher.dispatch({
+ return Dispatcher.dispatch({
type: "MESSAGE_END_EDIT",
channelId: SelectedChannelStore.getChannelId()
});
- else {
- Dispatcher.dispatch({
- type: "MESSAGE_START_EDIT",
- channelId: message.channel_id,
- messageId: message.id,
- content: message.content,
- _isQuickEdit: true
- });
- jumpIfOffScreen(message.channel_id, message.id);
- }
+ Dispatcher.dispatch({
+ type: "MESSAGE_START_EDIT",
+ channelId: message.channel_id,
+ messageId: message.id,
+ content: message.content,
+ _isQuickEdit: true
+ });
+ jumpIfOffScreen(message.channel_id, message.id);
}