Parsear (parse-mode
)
Este plugin proporciona un transformador para establecer el parse
por defecto, y un middleware para hidratar el Context
con los métodos variantes familiares de reply
- es decir, reply
, reply
, etc.
Uso (Mejorar la experiencia de formateo)
ts
import { Bot, Context } from "grammy";
import { bold, fmt, hydrateReply, italic, link } from "@grammyjs/parse-mode";
import type { ParseModeFlavor } from "@grammyjs/parse-mode";
const bot = new Bot<ParseModeFlavor<Context>>("");
// Instalar el plugin.
bot.use(hydrateReply);
bot.command("demo", async (ctx) => {
await ctx.replyFmt(fmt`${bold("negrita!")}
${bold(italic("ambas!"))}
${bold(fmt`negrita ${link("blink", "example.com")} negrita`)}`);
// fmt también puede ser llamada como cualquier otra función.
await ctx.replyFmt(
fmt(
["", " y ", " y ", ""],
fmt`${bold("negrita")}`,
fmt`${bold(italic("ambas"))}`,
fmt`${italic("cursiva")}`,
),
);
});
bot.start();
1
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
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
js
const { Bot, Context } = require("grammy");
const { bold, fmt, hydrateReply, italic, link } = require(
"@grammyjs/parse-mode",
);
const bot = new Bot("");
// Instalar el plugin.
bot.use(hydrateReply);
bot.command("demo", async (ctx) => {
await ctx.replyFmt(fmt`${bold("negrita!")}
${bold(italic("ambas!"))}
${bold(fmt`negrita ${link("blink", "example.com")} negrita`)}`);
// fmt también puede ser llamada como cualquier otra función.
await ctx.replyFmt(
fmt(
["", " y ", " y ", ""],
fmt`${bold("negrita")}`,
fmt`${bold(italic("ambas"))}`,
fmt`${italic("cursiva")}`,
),
);
});
bot.start();
1
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
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
ts
import { Bot, Context } from "https://deno.land/x/grammy@v1.30.0/mod.ts";
import {
bold,
fmt,
hydrateReply,
italic,
link,
} from "https://deno.land/x/grammy_parse_mode@1.10.0/mod.ts";
import type { ParseModeFlavor } from "https://deno.land/x/grammy_parse_mode@1.10.0/mod.ts";
const bot = new Bot<ParseModeFlavor<Context>>("");
// Instalar el plugin.
bot.use(hydrateReply);
bot.command("demo", async (ctx) => {
await ctx.replyFmt(fmt`${bold("negrita!")}
${bold(italic("ambas!"))}
${bold(fmt`negrita ${link("blink", "example.com")} negrita`)}`);
// fmt también puede ser llamada como cualquier otra función.
await ctx.replyFmt(
fmt(
["", " y ", " y ", ""],
fmt`${bold("negrita")}`,
fmt`${bold(italic("ambas"))}`,
fmt`${italic("cursiva")}`,
),
);
});
bot.start();
1
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
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
Uso (modo de análisis sintáctico por defecto y métodos de respuesta)
ts
import { Bot, Context } from "grammy";
import { hydrateReply, parseMode } from "@grammyjs/parse-mode";
import type { ParseModeFlavor } from "@grammyjs/parse-mode";
const bot = new Bot<ParseModeFlavor<Context>>("");
// Instalar el plugin.
bot.use(hydrateReply);
// Establece el modo de formateo por defecto de `ctx.reply`.
bot.api.config.use(parseMode("MarkdownV2"));
bot.command("demo", async (ctx) => {
await ctx.reply(
"*Este* es _el_ `formato` por defecto",
);
await ctx.replyWithHTML(
"<b>Este</b> es el <code>formato</code> <i>conHTML</i>",
);
await ctx.replyWithMarkdown("*Este* es el `formato` _conMarkdown_");
await ctx.replyWithMarkdownV1("*Este* es el `formato` _conMarkdownV1_");
await ctx.replyWithMarkdownV2("*Este* es el `formato` _conMarkdownV2_");
});
bot.start();
1
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
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
js
const { Bot, Context } = require("grammy");
const { hydrateReply, parseMode } = require("@grammyjs/parse-mode");
const bot = new Bot("");
// Instalar el plugin.
bot.use(hydrateReply);
// Establece el modo de formateo por defecto de `ctx.reply`.
bot.api.config.use(parseMode("MarkdownV2"));
bot.command("demo", async (ctx) => {
await ctx.reply(
"*Este* es _el_ `formato` por defecto",
);
await ctx.replyWithHTML(
"<b>Este</b> es el <code>formato</code> <i>conHTML</i>",
);
await ctx.replyWithMarkdown("*Este* es el `formato` _conMarkdown_");
await ctx.replyWithMarkdownV1("*Este* es el `formato` _conMarkdownV1_");
await ctx.replyWithMarkdownV2("*Este* es el `formato` _conMarkdownV2_");
});
bot.start();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ts
import { Bot, Context } from "https://deno.land/x/grammy@v1.30.0/mod.ts";
import {
hydrateReply,
parseMode,
} from "https://deno.land/x/grammy_parse_mode@1.10.0/mod.ts";
import type { ParseModeFlavor } from "https://deno.land/x/grammy_parse_mode@1.10.0/mod.ts";
const bot = new Bot<ParseModeFlavor<Context>>("");
// Instalar el plugin.
bot.use(hydrateReply);
// Establece el modo de formateo por defecto de `ctx.reply`.
bot.api.config.use(parseMode("MarkdownV2"));
bot.command("demo", async (ctx) => {
await ctx.reply(
"*Este* es _el_ `formato` por defecto",
);
await ctx.replyWithHTML(
"<b>Este</b> es el <code>formato</code> <i>conHTML</i>",
);
await ctx.replyWithMarkdown("*Este* es el `formato` _conMarkdown_");
await ctx.replyWithMarkdownV1("*Este* es el `formato` _conMarkdownV1_");
await ctx.replyWithMarkdownV2("*Este* es el `formato` _conMarkdownV2_");
});
bot.start();
1
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
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
Resumen del plugin
- Nombre:
parse
-mode - Fuente
- Referencia