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

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