telegraf-mysql2-session
v1.0.0
Published
MySQL session management middleware for Telegraf.js bots.
Downloads
2
Maintainers
Readme
Telegraf MySQL Session Module
Telegraf MySQL Session Module is a robust session management middleware for Telegraf.js bots that seamlessly integrates with MySQL databases. This comprehensive README provides detailed instructions on installation, usage, API documentation, error handling, and licensing information.
Table of Contents
Installation
To install the Telegraf MySQL Session Module, use npm:
npm install telegraf-mysql2-session
Usage
Integrate the Telegraf MySQL Session Module into your Telegraf bot with the following steps:
- Require the module and initialize MySQLSession:
const { Telegraf } = require('telegraf');
const MySQLSession = require('telegraf-mysql2-session');
const session = new MySQLSession({
host: 'localhost',
user: 'root',
password: 'root',
database: 'sessions',
});
- Add the middleware to your Telegraf bot:
const bot = new Telegraf('shhh... secret');
bot.use(session.middleware());
- Access and modify session data using
ctx.session
:
bot.on('text', (ctx) => {
// Set session value
ctx.session.counter = (ctx.session.counter || 0) + 1;
// Get session value
ctx.reply(`Counter: ${ctx.session.counter}`);
});
bot.launch();
For detailed API documentation and advanced usage, refer to the API section below.
API
Constructor
Create a new instance of MySQLSession with the following options:
new MySQLSession(options)
options
: An object containing MySQL connection options and session configuration.
Options
host
: MySQL server host (default: 'localhost').user
: MySQL user (default: 'root').password
: MySQL password (default: null).database
: MySQL database name (default: 'telegraf_sessions').connectionLimit
: Maximum number of connections in the pool (default: 10).cleanupInterval
: Interval (in milliseconds) for cleaning up expired sessions (default: 3600000).sessionsTableName
: Name of the table to store sessions (default: 'bejiihiu_sessions').
Methods
saveSession(sessionId, sessionData, expirationTime)
Save session data to the database.
sessionId
: Unique identifier for the session.sessionData
: Data to be stored in the session.expirationTime
: Expiration time for the session data in seconds (default: 3600).
getSession(sessionId)
Retrieve session data from the database.
sessionId
: Unique identifier for the session.
Middleware
Generate Telegraf middleware function for session management.
session.middleware()
Error Handling
Errors during session creation, cleanup, or database queries are logged to the console. Customize error handling logic as needed.
License
This project is licensed under the MIT License. See the LICENSE file for details.