@grammyjs/storage-deta
v2.4.2
Published
deta.sh storage adapter for grammY
Downloads
34
Readme
Deta.sh Base storage adapter for grammY
Storage adapter that can be used to store your session data on Deta.sh Base when using sessions.
Installation
Node
npm install @grammyjs/storage-deta --save
Deno
import { DetaAdapter } from "https://deno.land/x/grammy_storages/deta/src/mod.ts";
Introduction
Set up your Deta Base by creating a Deta project. Copy the Project Key to here.
You should now have:
- A project key for your Deta.sh project.
- A Telegram bot token.
Put those values into the following example code:
Usage
You can check examples folder.
Example of a message counter bot running on Deno:
import {
Bot,
Context,
session,
SessionFlavor,
} from "https://lib.deno.dev/x/[email protected]/mod.ts";
import { DetaAdapter } from "https://deno.land/x/grammy_storages/deta/src/mod.ts";
// Define session structure
interface SessionData {
count: number;
}
type MyContext = Context & SessionFlavor<SessionData>;
// Create the bot and register the session middleware
const bot = new Bot<MyContext>(""); // <-- Put your Bot token here.
bot.use(session({
initial: () => ({ count: 0 }),
storage: new DetaAdapter<SessionData>({
baseName: "session", // <-- Base name - your choice.
projectKey: "", // <-- Project Key here.
}),
}));
// Use persistant session data in update handlers
bot.on("message", async (ctx) => {
ctx.session.count++;
await ctx.reply(`Message count: ${ctx.session.count}`);
});
bot.catch((err) => console.error(err));
bot.start();