fixes an issue where the bot would edit deleted replies

This commit is contained in:
derpystuff 2023-06-26 11:10:35 +02:00
parent bbafd7f48c
commit 4f1d288d3e
11 changed files with 31 additions and 32 deletions

View file

@ -24,13 +24,13 @@ module.exports = {
const t = Date.now() const t = Date.now()
if(args.force) execSync("git checkout .") if(args.force) execSync("git checkout .")
const r = execSync("git pull") const r = execSync("git pull")
if(r.toString().includes("Already up to date.")) return await response.edit({embeds: [createEmbed("warning", context, "Already up to date.")]}) if(r.toString().includes("Already up to date.")) return await editOrReply(context, {embeds: [createEmbed("warning", context, "Already up to date.")]})
let com = r.toString().match(/([a-z0-9]{7})\.\.([a-z0-9]{7})/) let com = r.toString().match(/([a-z0-9]{7})\.\.([a-z0-9]{7})/)
return await response.edit({ content: `${icon("success_simple")} Updated ${highlight(com[1] + ' -> ' + com[2])} in ${((Date.now() - t) / 1000).toFixed(2)}s`, embeds: []}) return await editOrReply(context, { content: `${icon("success_simple")} Updated ${highlight(com[1] + ' -> ' + com[2])} in ${((Date.now() - t) / 1000).toFixed(2)}s`, embeds: []})
}catch(e){ }catch(e){
console.log(e) console.log(e)
return await response.edit({embeds: [createEmbed("error", context, "Update failed.")]}) return await editOrReply(context, createEmbed("error", context, "Update failed."))
} }
} }
}; };

View file

@ -87,7 +87,7 @@ module.exports = {
const image = await superagent.get(res.image_link) const image = await superagent.get(res.image_link)
await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: res.hash, url: res.hash,
description: `${codeblock(`py`, [`${DEFAULT_BOT_PREFIX}art -type ${args.type.toLowerCase()} -seed ${seed} -variance ${variance} -rotate ${rotate}`])}`, description: `${codeblock(`py`, [`${DEFAULT_BOT_PREFIX}art -type ${args.type.toLowerCase()} -seed ${seed} -variance ${variance} -rotate ${rotate}`])}`,
@ -97,7 +97,7 @@ module.exports = {
}) })
}catch(e){ }catch(e){
console.log(e) console.log(e)
return editOrReply(context, {embeds:[createEmbed("error", context, `Unable to generate image.`)]}) return await editOrReply(context, {embeds:[createEmbed("error", context, `Unable to generate image.`)]})
} }
} }
}; };

View file

@ -30,7 +30,7 @@ module.exports = {
emb.footer = { emb.footer = {
text: "This might take several minutes to complete." text: "This might take several minutes to complete."
}; };
response.edit({ embeds: [ emb ] }); editOrReply(context, { embeds: [ emb ] });
}, 30000) }, 30000)
try{ try{
@ -54,10 +54,10 @@ module.exports = {
}) })
} }
await response.edit({ embeds, files }) await editOrReply(context, { embeds, files })
}catch(e){ }catch(e){
if(e.response.status == 503) return await response.edit({embeds:[createEmbed("error", context, `DALL-E server is busy, try again later.`)]}) if(e.response.status == 503) return await editOrReply(context, createEmbed("error", context, `DALL-E Mini server is busy, try again later.`))
await response.edit({embeds:[createEmbed("error", context, `Image generation failed.`)]}) await editOrReply(context, createEmbed("error", context, `Image generation failed.`))
} }
}, },
}; };

View file

@ -31,7 +31,7 @@ module.exports = {
const timings = Date.now(); const timings = Date.now();
let mkswt = await billboardCityscape(image) let mkswt = await billboardCityscape(image)
return await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: "makesweet.gif", url: "makesweet.gif",
time: ((Date.now() - timings) / 1000).toFixed(2), time: ((Date.now() - timings) / 1000).toFixed(2),
@ -44,7 +44,7 @@ module.exports = {
}) })
} catch (e) { } catch (e) {
console.log(e) console.log(e)
await response.edit({ embeds: [createEmbed("error", context, "Something went wrong.")] }) await editOrReply(context, { embeds: [createEmbed("error", context, "Something went wrong.")] })
} }
}, },
} }

View file

@ -31,7 +31,7 @@ module.exports = {
const timings = Date.now(); const timings = Date.now();
let mkswt = await circuitBoard(image) let mkswt = await circuitBoard(image)
return await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: "makesweet.gif", url: "makesweet.gif",
time: ((Date.now() - timings) / 1000).toFixed(2), time: ((Date.now() - timings) / 1000).toFixed(2),
@ -43,7 +43,7 @@ module.exports = {
files: [{ filename: "makesweet.gif", value: mkswt.body }] files: [{ filename: "makesweet.gif", value: mkswt.body }]
}) })
} catch (e) { } catch (e) {
await response.edit({ embeds: [createEmbed("error", context, e)] }) await editOrReply(context, createEmbed("error", context, e))
} }
} }
} }

View file

@ -31,7 +31,7 @@ module.exports = {
const timings = Date.now(); const timings = Date.now();
let mkswt = await flag(image) let mkswt = await flag(image)
return await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: "makesweet.gif", url: "makesweet.gif",
time: ((Date.now() - timings) / 1000).toFixed(2), time: ((Date.now() - timings) / 1000).toFixed(2),
@ -43,7 +43,7 @@ module.exports = {
files: [{ filename: "makesweet.gif", value: mkswt.body }] files: [{ filename: "makesweet.gif", value: mkswt.body }]
}) })
} catch (e) { } catch (e) {
await response.edit({ embeds: [createEmbed("error", context, e)] }) await editOrReply(context, createEmbed("error", context, e))
} }
}, },
} }

View file

@ -31,7 +31,7 @@ module.exports = {
const timings = Date.now(); const timings = Date.now();
let mkswt = await heartLocket(args.text, image) let mkswt = await heartLocket(args.text, image)
return await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: "makesweet.gif", url: "makesweet.gif",
time: ((Date.now() - timings) / 1000).toFixed(2), time: ((Date.now() - timings) / 1000).toFixed(2),
@ -43,7 +43,7 @@ module.exports = {
files: [{ filename: "makesweet.gif", value: mkswt.body }] files: [{ filename: "makesweet.gif", value: mkswt.body }]
}) })
} catch (e) { } catch (e) {
await response.edit({ embeds: [createEmbed("error", context, e)] }) await editOrReply(context, createEmbed("error", context, e))
} }
} }
} }

View file

@ -34,7 +34,7 @@ module.exports = {
"data": args.text "data": args.text
}) })
return await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: "qrcode.png", url: "qrcode.png",
time: ((Date.now() - t) / 1000).toFixed(2) time: ((Date.now() - t) / 1000).toFixed(2)
@ -42,7 +42,7 @@ module.exports = {
files: [{ filename: "qrcode.png", value: res.body }] files: [{ filename: "qrcode.png", value: res.body }]
}) })
}catch(e){ }catch(e){
return await response.edit({ embeds: [createEmbed("error", context, `Unable to generate qr code.`) ] }) return await editOrReply(context, createEmbed("error", context, `Unable to generate qr code.`))
} }
} }

View file

@ -36,29 +36,29 @@ module.exports = {
let ss = await screenshot(context, args.url, context.channel.nsfw) let ss = await screenshot(context, args.url, context.channel.nsfw)
if(ss.response.body.status && ss.response.body.status !== 3){ if(ss.response.body.status && ss.response.body.status !== 3){
if(ss.response.body.image) return await response.edit({ if(ss.response.body.image) return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: ss.response.body.image, url: ss.response.body.image,
time: ((Date.now() - t) / 1000).toFixed(2) time: ((Date.now() - t) / 1000).toFixed(2)
})] })]
}) })
return await response.edit({ embeds: [createEmbed("error", context, "Unable to create screenshot.")] }) return await editOrReply(context, createEmbed("error", context, "Unable to create screenshot."))
} }
let job = await processJob(ss.response.body.job) let job = await processJob(ss.response.body.job)
if(job.status){ if(job.status){
if(!job.image) job = await processJob(ss.response.body.job) if(!job.image) job = await processJob(ss.response.body.job)
if(job.image) return await response.edit({ if(job.image) return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: job.image, url: job.image,
time: ((Date.now() - t) / 1000).toFixed(2) time: ((Date.now() - t) / 1000).toFixed(2)
})] })]
}) })
return await response.edit({ embeds: [createEmbed("error", context, "Unable to create screenshot.")] }) return await editOrReply(context, createEmbed("error", context, "Unable to create screenshot."))
} }
return await response.edit({ return await editOrReply(context, {
embeds: [createEmbed("image", context, { embeds: [createEmbed("image", context, {
url: "screenshot.png", url: "screenshot.png",
time: ((Date.now() - t) / 1000).toFixed(2) time: ((Date.now() - t) / 1000).toFixed(2)
@ -67,11 +67,9 @@ module.exports = {
}) })
} catch(e){ } catch(e){
console.log(e) console.log(e)
return await response.edit({ return await editOrReply(context, createEmbed("image", context, {
embeds: [createEmbed("image", context, { url: "https://derpystuff.gitlab.io/webstorage4/v2/assets/screenshot/screenshot_error.png"
url: "https://derpystuff.gitlab.io/webstorage4/v2/assets/screenshot/screenshot_error.png" }))
})]
})
} }
} }
}; };

View file

@ -41,10 +41,10 @@ module.exports = class BasePaginator extends EventEmitter {
async update(data) { async update(data) {
if (this.isShared) { if (this.isShared) {
for (const m of this.commandMessage.values()) { for (const m of this.commandMessage.values()) {
await m.edit(data); if(!m.deleted) await m.edit(data);
} }
} else if (this.commandMessage) { } else if (this.commandMessage) {
this.commandMessage.edit(data); if(!this.commandMessage.deleted) this.commandMessage.edit(data);
} }
} }

View file

@ -4,5 +4,6 @@ module.exports.editOrReply = function(context, message, disableReference = false
if(!message.message_reference && !disableReference) message.reference = true if(!message.message_reference && !disableReference) message.reference = true
// Disable mentions // Disable mentions
if(!message.allowedMentions) message.allowedMentions = {parse: [], repliedUser: false} if(!message.allowedMentions) message.allowedMentions = {parse: [], repliedUser: false}
return context.editOrReply(message) // Only respond if the command is still available.
if(!context.message.deleted) return context.editOrReply(message)
} }