Stop offering deletion Slack refuses
chat.delete only removes what the bot posted itself, so webhook messages answer cant_delete_message no matter how the id is found. Runs without a stored id now say so instead of leading into a dead end.
This commit is contained in:
+2
-2
@@ -292,7 +292,7 @@
|
|||||||
"reportRejected": "Slack hat die Nachricht abgelehnt.",
|
"reportRejected": "Slack hat die Nachricht abgelehnt.",
|
||||||
"messageDeleted": "Die Nachricht ist in Slack gelöscht.",
|
"messageDeleted": "Die Nachricht ist in Slack gelöscht.",
|
||||||
"runUnknown": "Diesen Lauf gibt es nicht.",
|
"runUnknown": "Diesen Lauf gibt es nicht.",
|
||||||
"runNotDeletable": "Dieser Lauf ging über den Webhook, dafür gibt es keine Nachrichtenkennung.",
|
"runNotDeletable": "Diese Nachricht kam vom Webhook. Slack erlaubt dem Bot nur zu löschen, was er selbst gepostet hat.",
|
||||||
"runNoToken": "Ohne Bot-Token lässt sich in Slack nichts löschen.",
|
"runNoToken": "Ohne Bot-Token lässt sich in Slack nichts löschen.",
|
||||||
"runDeleteFailed": "Slack hat das Löschen abgelehnt.",
|
"runDeleteFailed": "Slack hat das Löschen abgelehnt.",
|
||||||
"tokenInvalid": "Ein Bot-Token beginnt mit xoxb oder xoxp.",
|
"tokenInvalid": "Ein Bot-Token beginnt mit xoxb oder xoxp.",
|
||||||
@@ -769,7 +769,7 @@
|
|||||||
"messageDelete": "In Slack löschen",
|
"messageDelete": "In Slack löschen",
|
||||||
"messageDeleting": "Wird gelöscht",
|
"messageDeleting": "Wird gelöscht",
|
||||||
"messageDeleted": "Gelöscht",
|
"messageDeleted": "Gelöscht",
|
||||||
"messageWebhook": "Über Webhook, Kennung wird gesucht",
|
"messageWebhook": "Über Webhook, nur in Slack löschbar",
|
||||||
"pathBot": "Versand über den Bot-Token. Nachrichten lassen sich hier wieder löschen.",
|
"pathBot": "Versand über den Bot-Token. Nachrichten lassen sich hier wieder löschen.",
|
||||||
"pathWebhook": "Versand über den Webhook. Nachrichten lassen sich danach nicht mehr löschen, dafür braucht es einen Bot-Token.",
|
"pathWebhook": "Versand über den Webhook. Nachrichten lassen sich danach nicht mehr löschen, dafür braucht es einen Bot-Token.",
|
||||||
"pathNone": "Noch kein Weg hinterlegt, es geht nichts raus.",
|
"pathNone": "Noch kein Weg hinterlegt, es geht nichts raus.",
|
||||||
|
|||||||
+2
-2
@@ -292,7 +292,7 @@
|
|||||||
"reportRejected": "Slack rejected the message.",
|
"reportRejected": "Slack rejected the message.",
|
||||||
"messageDeleted": "The message is deleted in Slack.",
|
"messageDeleted": "The message is deleted in Slack.",
|
||||||
"runUnknown": "That run does not exist.",
|
"runUnknown": "That run does not exist.",
|
||||||
"runNotDeletable": "That run went through the webhook, so there is no message id.",
|
"runNotDeletable": "That message came from the webhook. Slack only lets the bot delete what it posted itself.",
|
||||||
"runNoToken": "Without a bot token nothing can be deleted in Slack.",
|
"runNoToken": "Without a bot token nothing can be deleted in Slack.",
|
||||||
"runDeleteFailed": "Slack refused the deletion.",
|
"runDeleteFailed": "Slack refused the deletion.",
|
||||||
"tokenInvalid": "A bot token starts with xoxb or xoxp.",
|
"tokenInvalid": "A bot token starts with xoxb or xoxp.",
|
||||||
@@ -769,7 +769,7 @@
|
|||||||
"messageDelete": "Delete in Slack",
|
"messageDelete": "Delete in Slack",
|
||||||
"messageDeleting": "Deleting",
|
"messageDeleting": "Deleting",
|
||||||
"messageDeleted": "Deleted",
|
"messageDeleted": "Deleted",
|
||||||
"messageWebhook": "Sent by webhook, id will be looked up",
|
"messageWebhook": "Sent by webhook, only deletable in Slack",
|
||||||
"pathBot": "Sending through the bot token. Messages can be deleted from here.",
|
"pathBot": "Sending through the bot token. Messages can be deleted from here.",
|
||||||
"pathWebhook": "Sending through the webhook. Messages cannot be deleted afterwards, that needs a bot token.",
|
"pathWebhook": "Sending through the webhook. Messages cannot be deleted afterwards, that needs a bot token.",
|
||||||
"pathNone": "No route stored yet, nothing goes out.",
|
"pathNone": "No route stored yet, nothing goes out.",
|
||||||
|
|||||||
@@ -126,9 +126,13 @@ export default async function AdminSettingsPage() {
|
|||||||
<td className={`${cellClass} max-w-72`}>
|
<td className={`${cellClass} max-w-72`}>
|
||||||
{run.deletedAt
|
{run.deletedAt
|
||||||
? t('messageDeleted')
|
? t('messageDeleted')
|
||||||
: run.sent && canDelete
|
: !run.sent
|
||||||
? <MessageDeleteButton runId={run.id} hint={run.messageTs ? undefined : t('messageWebhook')} />
|
? '-'
|
||||||
: run.sent ? t('messageNoToken') : '-'}
|
: !run.messageTs
|
||||||
|
? t('messageWebhook')
|
||||||
|
: canDelete
|
||||||
|
? <MessageDeleteButton runId={run.id} />
|
||||||
|
: t('messageNoToken')}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -120,6 +120,10 @@ export async function performDeleteMessage(viewer: Viewer, formData: FormData):
|
|||||||
return invalid('runNotSent')
|
return invalid('runNotSent')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!run.messageTs) {
|
||||||
|
return invalid('runNotDeletable')
|
||||||
|
}
|
||||||
|
|
||||||
const values = await readSettings(['slack.botToken', 'slack.channel'])
|
const values = await readSettings(['slack.botToken', 'slack.channel'])
|
||||||
const token = values.get('slack.botToken')?.trim()
|
const token = values.get('slack.botToken')?.trim()
|
||||||
const channel = run.channel ?? values.get('slack.channel')?.trim()
|
const channel = run.channel ?? values.get('slack.channel')?.trim()
|
||||||
|
|||||||
Reference in New Issue
Block a user