feat: add cancel command
This commit is contained in:
parent
3f27b4470b
commit
3444fb01d0
|
@ -0,0 +1,9 @@
|
||||||
|
import { jobStore } from "../db/jobStore.ts";
|
||||||
|
import { Context } from "./mod.ts";
|
||||||
|
|
||||||
|
export async function cancelCommand(ctx: Context) {
|
||||||
|
const jobs = await jobStore.getBy("status.type", { value: "waiting" });
|
||||||
|
const userJobs = jobs.filter((j) => j.value.from.id === ctx.from?.id);
|
||||||
|
for (const job of userJobs) await job.delete();
|
||||||
|
await ctx.reply(`Cancelled ${userJobs.length} jobs`);
|
||||||
|
}
|
|
@ -5,6 +5,7 @@ import { queueCommand } from "./queueCommand.ts";
|
||||||
import { txt2imgCommand, txt2imgQuestion } from "./txt2imgCommand.ts";
|
import { txt2imgCommand, txt2imgQuestion } from "./txt2imgCommand.ts";
|
||||||
import { pnginfoCommand, pnginfoQuestion } from "./pnginfoCommand.ts";
|
import { pnginfoCommand, pnginfoQuestion } from "./pnginfoCommand.ts";
|
||||||
import { img2imgCommand, img2imgQuestion } from "./img2imgCommand.ts";
|
import { img2imgCommand, img2imgQuestion } from "./img2imgCommand.ts";
|
||||||
|
import { cancelCommand } from "./cancelCommand.ts";
|
||||||
|
|
||||||
export const logger = () => Log.getLogger();
|
export const logger = () => Log.getLogger();
|
||||||
|
|
||||||
|
@ -98,10 +99,11 @@ bot.api.setMyDescription(
|
||||||
"Send /txt2img to generate an image.",
|
"Send /txt2img to generate an image.",
|
||||||
);
|
);
|
||||||
bot.api.setMyCommands([
|
bot.api.setMyCommands([
|
||||||
{ command: "txt2img", description: "Generate an image from text" },
|
{ command: "txt2img", description: "Generate image from text" },
|
||||||
{ command: "img2img", description: "Generate an image based on another image" },
|
{ command: "img2img", description: "Generate image from image" },
|
||||||
{ command: "pnginfo", description: "Show generation parameters of an image" },
|
{ command: "pnginfo", description: "Show generation parameters of an image" },
|
||||||
{ command: "queue", description: "Show the current queue" },
|
{ command: "queue", description: "Show the current queue" },
|
||||||
|
{ command: "cancel", description: "Cancel all your requests" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
bot.command("start", (ctx) => ctx.reply("Hello! Use the /txt2img command to generate an image"));
|
bot.command("start", (ctx) => ctx.reply("Hello! Use the /txt2img command to generate an image"));
|
||||||
|
@ -117,6 +119,8 @@ bot.use(pnginfoQuestion.middleware());
|
||||||
|
|
||||||
bot.command("queue", queueCommand);
|
bot.command("queue", queueCommand);
|
||||||
|
|
||||||
|
bot.command("cancel", cancelCommand);
|
||||||
|
|
||||||
bot.command("pause", (ctx) => {
|
bot.command("pause", (ctx) => {
|
||||||
if (!ctx.from?.username) return;
|
if (!ctx.from?.username) return;
|
||||||
const config = ctx.session.global;
|
const config = ctx.session.global;
|
||||||
|
|
Loading…
Reference in New Issue