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