Набросал меню
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
"": {
|
"": {
|
||||||
"name": "me-tg-bot",
|
"name": "me-tg-bot",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@grammyjs/menu": "^1.3.1",
|
||||||
"grammy": "^1.39.2",
|
"grammy": "^1.39.2",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -17,6 +18,8 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
"packages": {
|
"packages": {
|
||||||
|
"@grammyjs/menu": ["@grammyjs/menu@1.3.1", "", { "peerDependencies": { "grammy": "^1.31.0" } }, "sha512-HJslY/n76T1Ar5qDDhNtjLs+PpcrlB9aGsXu3CJHLt147DC3K3lpiRvRW/Xh9/x9hqYVw7KKbnvsQXVgzoU81Q=="],
|
||||||
|
|
||||||
"@grammyjs/types": ["@grammyjs/types@3.23.0", "", {}, "sha512-D3jQ4UWERPsyR3op/YFudMMIPNTU47vy7L51uO9/73tMELmjO/+LX5N36/Y0CG5IQfIsz43MxiHI5rgsK0/k+g=="],
|
"@grammyjs/types": ["@grammyjs/types@3.23.0", "", {}, "sha512-D3jQ4UWERPsyR3op/YFudMMIPNTU47vy7L51uO9/73tMELmjO/+LX5N36/Y0CG5IQfIsz43MxiHI5rgsK0/k+g=="],
|
||||||
|
|
||||||
"@types/bun": ["@types/bun@1.3.5", "", { "dependencies": { "bun-types": "1.3.5" } }, "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w=="],
|
"@types/bun": ["@types/bun@1.3.5", "", { "dependencies": { "bun-types": "1.3.5" } }, "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w=="],
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
import { Bot } from 'grammy';
|
import { Bot } from 'grammy';
|
||||||
|
|
||||||
import { cmdStart, cmdHelp } from './src/commands';
|
import { cmdStart, cmdHelp } from './src/commands';
|
||||||
|
import { menu } from './src/menu';
|
||||||
|
|
||||||
const bot = new Bot(process.env.TOKEN);
|
const bot = new Bot(process.env.TOKEN);
|
||||||
|
bot.use(menu);
|
||||||
|
|
||||||
bot.command('start', cmdStart);
|
bot.command('start', cmdStart);
|
||||||
bot.command('help', cmdHelp);
|
bot.command('help', cmdHelp);
|
||||||
|
bot.command('menu', async (ctx) => {
|
||||||
|
await ctx.reply('🛣️ Навигация', { reply_markup: menu });
|
||||||
|
});
|
||||||
bot.on('message', (ctx) => ctx.reply('Got another message!'));
|
bot.on('message', (ctx) => ctx.reply('Got another message!'));
|
||||||
|
|
||||||
bot.start();
|
bot.start();
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
"typescript": "^5"
|
"typescript": "^5"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@grammyjs/menu": "^1.3.1",
|
||||||
"grammy": "^1.39.2"
|
"grammy": "^1.39.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-5
@@ -1,12 +1,13 @@
|
|||||||
function cmdStart(ctx) {
|
function cmdStart(ctx) {
|
||||||
ctx.reply(
|
ctx.reply(
|
||||||
[
|
[
|
||||||
'🪪 Александр.',
|
'🪪 Александр',
|
||||||
'🗿 Шеф в любой сфере IT.',
|
'🗿 Шеф в любой сфере IT\\.',
|
||||||
'💪🏻 Программирование, разработка игр, механика, электрика, электроника, 3D печать и лазерная резка.',
|
'💪🏻 Программирование, разработка игр, механика, электрика, электроника, 3D печать и лазерная резка\\.',
|
||||||
'💼 Сайт: https://iiiypuk.me/',
|
'💼 Сайт: https://iiiypuk\\.me/',
|
||||||
|
'\n🧢 Вызови /menu для получения большей информации',
|
||||||
].join('\n'),
|
].join('\n'),
|
||||||
{ parseMode: 'MarkdownV2' },
|
{ parse_mode: 'MarkdownV2' },
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
import { Menu } from '@grammyjs/menu';
|
||||||
|
|
||||||
|
const menuSkills = (ctx) => {
|
||||||
|
ctx.reply(
|
||||||
|
[
|
||||||
|
'💪🏻 \*Скиллы*\n',
|
||||||
|
'⌨️ *Языки программирования:*',
|
||||||
|
'`C/C++`, `Python`, `JavaScript`, `TypeScript`, `Crystal`',
|
||||||
|
'\n⛑️ \*Администрирование:\*',
|
||||||
|
'`Arch`, `Ubuntu`, `nginx`',
|
||||||
|
'\n>Раздел в процессе написания\\.\\.\\.',
|
||||||
|
'\n🕙 Обновлено: 2 Jan 2026',
|
||||||
|
].join('\n'),
|
||||||
|
{ parse_mode: 'MarkdownV2' },
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const menu = new Menu('main')
|
||||||
|
.text('💪🏻 Скиллы', menuSkills)
|
||||||
|
.row()
|
||||||
|
.text('👔 Не нажимай', (ctx) => {
|
||||||
|
ctx.reply('Я же просил не нажимать :)');
|
||||||
|
})
|
||||||
|
.row();
|
||||||
|
|
||||||
|
export { menu };
|
||||||
Reference in New Issue
Block a user