编辑向导中最后一步发送的消息 |电报-js

edit message sent in last step in wizard | telegraf-js

如何在 sendToAdmin 函数中编辑在 getMessage 函数中发送的消息?

async function getMessage(ctx: Context) {
  // message
  await ctx.editMessageText("text");

  return (<any>ctx).wizard.next();
}

async function sendToAdmin(ctx: Context) {
    
  // edit here

  return (<any>ctx).wizard.leave();
}

const superWizard = new Scenes.WizardScene(
  getMessage,
  sendToAdmin
);

你可以使用Context.wizard.state


const bot = new Telegraf(process.env.TOKEN);

async function getMessage(ctx: Context) {

  // message have message id
  const message = await ctx.editMessageText("text");

  // send message id to wizard
  // for use in next step
  (<any>ctx).wizard.state.message = { message: message.message_id };

  return (<any>ctx).wizard.next();
}

async function sendToAdmin(ctx: Context) {
    
  // use here
  const lastMessageID = (<any>ctx).wizard.state.message.message;

  // edit last message
  bit.telegram.editMessageText(ctx.from.id, lastMessageID, "EDIT_TEXT")

  return (<any>ctx).wizard.leave();
}