Набросал меню
This commit is contained in:
3
bun.lock
3
bun.lock
@@ -5,6 +5,7 @@
|
||||
"": {
|
||||
"name": "me-tg-bot",
|
||||
"dependencies": {
|
||||
"@grammyjs/menu": "^1.3.1",
|
||||
"grammy": "^1.39.2",
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -17,6 +18,8 @@
|
||||
},
|
||||
},
|
||||
"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=="],
|
||||
|
||||
"@types/bun": ["@types/bun@1.3.5", "", { "dependencies": { "bun-types": "1.3.5" } }, "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w=="],
|
||||
|
||||
5
index.ts
5
index.ts
@@ -1,11 +1,16 @@
|
||||
import { Bot } from 'grammy';
|
||||
|
||||
import { cmdStart, cmdHelp } from './src/commands';
|
||||
import { menu } from './src/menu';
|
||||
|
||||
const bot = new Bot(process.env.TOKEN);
|
||||
bot.use(menu);
|
||||
|
||||
bot.command('start', cmdStart);
|
||||
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.start();
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"typescript": "^5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grammyjs/menu": "^1.3.1",
|
||||
"grammy": "^1.39.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
function cmdStart(ctx) {
|
||||
ctx.reply(
|
||||
[
|
||||
'🪪 Александр.',
|
||||
'🗿 Шеф в любой сфере IT.',
|
||||
'💪🏻 Программирование, разработка игр, механика, электрика, электроника, 3D печать и лазерная резка.',
|
||||
'💼 Сайт: https://iiiypuk.me/',
|
||||
'🪪 Александр',
|
||||
'🗿 Шеф в любой сфере IT\\.',
|
||||
'💪🏻 Программирование, разработка игр, механика, электрика, электроника, 3D печать и лазерная резка\\.',
|
||||
'💼 Сайт: https://iiiypuk\\.me/',
|
||||
'\n🧢 Вызови /menu для получения большей информации',
|
||||
].join('\n'),
|
||||
{ parseMode: 'MarkdownV2' },
|
||||
{ parse_mode: 'MarkdownV2' },
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
26
src/menu.ts
Normal file
26
src/menu.ts
Normal file
@@ -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