init commit
This commit is contained in:
commit
d76e02b33f
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
.env
|
||||
dist
|
||||
node_modules
|
||||
package-lock.json
|
9
.prettierrc
Normal file
9
.prettierrc
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"useTabs": true,
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"semi": false,
|
||||
"trailingComma": "none",
|
||||
"arrowParens": "avoid",
|
||||
"printWidth": 79
|
||||
}
|
19
package.json
Normal file
19
package.json
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "tg-bot",
|
||||
"version": "1.0.0",
|
||||
"module": "./dist/index.mjs",
|
||||
"main": "./dist/index.umd.js",
|
||||
"scripts": {
|
||||
"start": "node .",
|
||||
"build": "vite build"
|
||||
},
|
||||
"dependencies": {
|
||||
"dotenv": "^16.4.5",
|
||||
"telegraf": "^4.16.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.10.0",
|
||||
"prettier": "^3.4.1",
|
||||
"vite": "^6.0.1"
|
||||
}
|
||||
}
|
33
src/index.ts
Normal file
33
src/index.ts
Normal file
@ -0,0 +1,33 @@
|
||||
// Импорт сторонних библиотек.
|
||||
import * as dotenv from 'dotenv'
|
||||
import { Telegraf } from 'telegraf'
|
||||
|
||||
// Главная функция приложения (Точка входа).
|
||||
const main = () => {
|
||||
try {
|
||||
// Инициализируем библиотеку для переменных окружения
|
||||
// Что бы мы могли их читать из файла .env
|
||||
dotenv.config()
|
||||
|
||||
// Токен.
|
||||
const token = process.env.TELEGRAM_TOKEN
|
||||
if (!token) throw new Error('Токен не найден!')
|
||||
|
||||
// Создание экземпляра бота
|
||||
const bot = new Telegraf(token)
|
||||
|
||||
// Обработчик команды /start
|
||||
bot.start(async ctx => {
|
||||
await ctx.reply('Привет!')
|
||||
})
|
||||
|
||||
// Запуск бота
|
||||
bot.launch()
|
||||
} catch (e) {
|
||||
// Обработка ошибок.
|
||||
console.log('Ошибка:', e)
|
||||
}
|
||||
}
|
||||
|
||||
// Старт приложения.
|
||||
main()
|
16
tsconfig.json
Normal file
16
tsconfig.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
|
||||
"paths": {
|
||||
"~/*": [
|
||||
"./src/*"
|
||||
]
|
||||
},
|
||||
|
||||
"strict": true,
|
||||
"moduleResolution": "node"
|
||||
},
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
16
vite.config.ts
Normal file
16
vite.config.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import { resolve } from 'node:path'
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
export default defineConfig({
|
||||
resolve: { alias: { '~': resolve(__dirname, './src') } },
|
||||
build: {
|
||||
lib: {
|
||||
name: 'tg-bot',
|
||||
fileName: 'index',
|
||||
entry: resolve(__dirname, 'src', 'index.ts')
|
||||
},
|
||||
rollupOptions: {
|
||||
external: ['telegraf', 'dotenv']
|
||||
}
|
||||
}
|
||||
})
|
Loading…
Reference in New Issue
Block a user