Package Exports
- @grammyjs/conversations
- @grammyjs/conversations/out/mod.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@grammyjs/conversations) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
grammY Conversations
The grammY conversations plugin lets you create powerful conversational interfaces with ease.
Here is a quickstart for you, but the real docs are on this page: https://grammy.dev/plugins/conversations
Quickstart
Run npm i grammy @grammyjs/conversations and paste the following code:
import { Bot, type Context, session } from "grammy";
import {
type Conversation,
type ConversationFlavor,
conversations,
createConversation,
} from "@grammyjs/conversations";
type MyContext = Context & ConversationFlavor;
type MyConversation = Conversation<MyContext>;
const bot = new Bot<MyContext>("");
/** Defines the conversation */
async function greeting(conversation: MyConversation, ctx: MyContext) {
await ctx.reply("Hi there! What is your name?");
const { message } = await conversation.wait();
await ctx.reply(`Welcome to the chat, ${message.text}!`);
}
bot.use(session({ initial: () => ({}) }));
bot.use(conversations());
bot.use(createConversation(greeting));
bot.command("enter", async (ctx) => {
await ctx.reply("Entering conversation!");
// enter the function "greeting" you declared
await ctx.conversation.enter("greeting");
});
bot.command("start", (ctx) => ctx.reply("Hi! Send /enter"));
bot.use((ctx) => ctx.reply("What a nice update."));
bot.start();Nifty!