Функция регистрации реализована
This commit is contained in:
parent
f81fb60969
commit
c798bd7797
1 changed files with 15 additions and 17 deletions
22
src/bot.ts
22
src/bot.ts
|
@ -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,20 +15,24 @@ 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" }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue