Preguntas sin estado (stateless-question
)
Crear preguntas sin estado a los usuarios de Telegram que trabajan en modo de privacidad
¿Quieres mantener la privacidad del usuario con el modo de privacidad de Telegram activado (por defecto), enviar a los usuarios preguntas traducidas en su idioma y no guardar el estado que los usuarios están haciendo actualmente?
Este plugin quiere resolver este problema.
La idea básica es enviar su pregunta con un texto especial al final. Este texto es invisible para el usuario pero visible para tu bot. Cuando el usuario responde a un mensaje, se comprueba el mensaje. Si contiene este texto especial al final, entonces es una respuesta a la pregunta. De esta manera puedes tener muchas cadenas para las mismas preguntas como cuando tienes traducciones. Sólo tienes que asegurarte de que el unique
es único dentro de tu bot.
Uso
import { StatelessQuestion } from "@grammyjs/stateless-question";
const bot = new Bot("");
const unicornQuestion = new StatelessQuestion("unicornio", async (ctx) => {
console.log(
"El usuario cree que los unicornios están haciendo:",
ctx.message,
);
});
// No te olvides de utilizar el middleware.
bot.use(unicornQuestion.middleware());
bot.command("arcoiris", async (ctx) => {
let text;
if (ctx.session.language === "de") {
text = "Was machen Einhörner?";
} else {
text = "¿Qué hacen los unicornios?";
}
return unicornQuestion.replyWithMarkdown(ctx, text);
});
// O envíe su pregunta manualmente (¡asegúrese de utilizar parse_mode y force_reply!).
bot.command("unicornio", async (ctx) => {
await ctx.replyWithMarkdown(
"¿Qué hacen los unicornios?" + unicornQuestion.messageSuffixMarkdown(),
{ parse_mode: "Markdown", reply_markup: { force_reply: true } },
);
});
bot.command("unicornio", async (ctx) => {
await ctx.replyWithHTML(
"¿Qué hacen los unicornios?" + unicornQuestion.messageSuffixHTML(),
{ parse_mode: "HTML", reply_markup: { force_reply: true } },
);
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Consulte el plugin README para obtener más información.
Resumen del plugin
- Nombre:
stateless
-question - Fuente