编辑向导中最后一步发送的消息 |电报-js
edit message sent in last step in wizard | telegraf-js
如何在 sendToAdmin
函数中编辑在 getMessage
函数中发送的消息?
- telegraf-js v4.4.1
- 打字稿
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();
}
如何在 sendToAdmin
函数中编辑在 getMessage
函数中发送的消息?
- telegraf-js v4.4.1
- 打字稿
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();
}