Функция регистрации реализована

This commit is contained in:
bogdan zažigin 2022-12-05 17:31:17 +03:00
parent f81fb60969
commit c798bd7797

View file

@ -1,14 +1,8 @@
import { Bot } from "grammy"; import { Bot } from "grammy";
const bot = new Bot(`${process.env.BOT_TOKEN}`); const bot = new Bot(`${process.env.BOT_TOKEN}`);
import { Database } from "sqlite3";
const sqlite3 = require("sqlite3"); const database = new Database(`${process.env.DB_PATH}`)
const db = new sqlite3.Database(process.env.DB_PATH)
function newPerson(values: string){
console.log("В таблицу people вносятся данные: " + `${values}`);
db.run(`INSERT INTO people(per_name, per_email) VALUES (${values});`);
}
@ -21,21 +15,25 @@ bot.command("start", (ctx) => {
bot.command("help", (ctx) => { bot.command("help", (ctx) => {
ctx.reply( ctx.reply(
"Список команд доступен в сплывающем меню от знака «/» в поле ввода сообщения\\. Но если Вы ещё не зарегистрированы в системе, сделайте это в первую очередь по команде: `/register \"[полное имя]\", \"[электропочта]\"`", "Список команд доступен в сплывающем меню от знака «/» в поле ввода сообщения\\. Но если Вы ещё не зарегистрированы в системе, сделайте это в первую очередь в формате SQL по команде: `/register \"[полное имя]\", \"[электропочта]\"`",
{ parse_mode: "MarkdownV2" }, { parse_mode: "MarkdownV2" },
); );
}); });
bot.command("register", (ctx) => { bot.command("register", (ctx) => {
if (ctx.match != '') { // В ctx.match берутся аргументы команды /register и используются как данные вводимые в таблицу
newPerson(`${ctx.match}`); database.run(`INSERT INTO people(per_name, per_email) VALUES (${ctx.match})`, (error) => {
if (error == null) {
ctx.reply(`Регистрация прошла успешно`)
} else { } else {
// Отправить «сухую» ошибку пользователю
ctx.reply( ctx.reply(
"Данная команда требует аргументы, введённые в формате `\"[полное имя]\", \"[электропочта]\"`\\. Например: `/register \"Зажигин Богдан Алексеевич\", \"za.boal@vk.com\"`", `Регистрация не удалась, SQLite сообщает об ошибке: «\`${error}\`»\\. Вы можете запросить трактовку и рекомендации у @zaboal`,
{ parse_mode: "MarkdownV2" } { parse_mode: "MarkdownV2" }
); );
} }
}); });
});
bot.start(); bot.start();