Начало работы
Создайте своего первого бота за несколько минут (прокрутите вниз для руководства по Deno).
Приступайте к работе на Node.js
Это руководство предполагает, что у вас установлен Node
.js , иnpm
должен поставляться вместе с ним. Если вы не знаете, что это за вещи, ознакомьтесь с нашим Введением!
Создайте новый проект TypeScript и установите пакет grammy
. Для этого откройте терминал и введите:
# Создайте новую директорию и перейдите в неё.
mkdir my-bot
cd my-bot
# Установите Typescript (пропустите если вы используете JavaScript).
npm install -D typescript
npx tsc --init
# Установите grammY.
npm install grammy
2
3
4
5
6
7
8
9
10
# Создайте новую директорию и перейдите в неё.
mkdir my-bot
cd my-bot
# Установите Typescript (пропустите если вы используете JavaScript).
yarn add typescript -D
npx tsc --init
# Установите grammY.
yarn add grammy
2
3
4
5
6
7
8
9
10
# Создайте новую директорию и перейдите в неё.
mkdir my-bot
cd my-bot
# Установите Typescript (пропустите если вы используете JavaScript).
pnpm add -D typescript
npx tsc --init
# Установите grammY.
pnpm add grammy
2
3
4
5
6
7
8
9
10
Создайте новый пустой текстовый файл, например, bot
. Теперь структура ваших папок должна выглядеть следующим образом:
.
├── bot.ts
├── node_modules/
├── package.json
├── package-lock.json
└── tsconfig.json
Теперь пришло время открыть Telegram, чтобы создать аккаунт бота и получить токен для его работы. Для этого напишите @Bot123456:
. Он используется для аутентификации вашего бота.
Получили токен? Теперь вы можете написать код вашего бота в файле bot
. Вы можете скопировать следующий пример бота в этот файл и передать свой токен в конструктор Bot
:
import { Bot } from "grammy";
// Создайте экземпляр класса `Bot` и передайте ему токен вашего бота.
const bot = new Bot(""); // <-- поместите токен вашего бота между "".
// Теперь вы можете зарегистрировать слушателей на объекте вашего бота `bot`.
// grammY будет вызывать слушателей, когда пользователи будут отправлять сообщения вашему боту.
// Обработайте команду /start.
bot.command(
"start",
(ctx) => ctx.reply("Добро пожаловать. Запущен и работает!"),
);
// Обработайте другие сообщения.
bot.on("message", (ctx) => ctx.reply("Получил другое сообщение!"));
// Теперь, когда вы указали, как обрабатывать сообщения, вы можете запустить своего бота.
// Он подключится к серверам Telegram и будет ждать сообщений.
// Запустите бота.
bot.start();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const { Bot } = require("grammy");
// Создайте экземпляр класса `Bot` и передайте ему токен вашего бота.
const bot = new Bot(""); // <-- поместите токен вашего бота между "".
// Теперь вы можете зарегистрировать слушателей на объекте вашего бота `bot`.
// grammY будет вызывать слушателей, когда пользователи будут отправлять сообщения вашему боту.
// Обработайте команду /start.
bot.command(
"start",
(ctx) => ctx.reply("Добро пожаловать. Запущен и работает!"),
);
// Обработайте другие сообщения.
bot.on("message", (ctx) => ctx.reply("Получил другое сообщение!"));
// Теперь, когда вы указали, как обрабатывать сообщения, вы можете запустить своего бота.
// Он подключится к серверам Telegram и будет ждать сообщений.
// Запустите бота.
bot.start();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Скомпилируйте код, выполнив команду
npx tsc
в вашем терминале. В результате будет создан JavaScript файл bot
.
Теперь вы можете запустить бота, выполнив команду
node bot.js
в вашем терминале. Готово! 🎉
Перейдите в Telegram, чтобы посмотреть, как ваш бот отвечает на сообщения!
Включение логов
Вы можете включить базовое ведение логов, выполнив команду
export DEBUG="grammy*"
в терминале перед выполнением node bot
. Это облегчает отладку вашего бота.
Приступайте к работе с Deno
Это руководство предполагает, что у вас установлен Deno.
Создайте новую директорию и создайте в ней новый пустой текстовый файл, например, с именем bot
.
mkdir ./my-bot
cd ./my-bot
touch bot.ts
2
3
Теперь пришло время открыть Telegram, чтобы создать аккаунт бота и получить токен для его работы. Для этого напишите @Bot123456:
. Он используется для аутентификации вашего бота.
Получили токен? Теперь вы можете написать код вашего бота в файле bot
. Вы можете скопировать следующий пример бота в этот файл и передать свой токен в конструктор Bot
:
import { Bot } from "https://deno.land/x/grammy@v1.30.0/mod.ts";
// Создайте экземпляр класса `Bot` и передайте ему токен вашего бота.
const bot = new Bot(""); // <-- поместите токен вашего бота между "".
// Теперь вы можете зарегистрировать слушателей на объекте вашего бота `bot`.
// grammY будет вызывать слушателей, когда пользователи будут отправлять сообщения вашему боту.
// Обработайте команду /start.
bot.command(
"start",
(ctx) => ctx.reply("Добро пожаловать. Запущен и работает!"),
);
// Обработайте другие сообщения.
bot.on("message", (ctx) => ctx.reply("Получил другое сообщение!"));
// Теперь, когда вы указали, как обрабатывать сообщения, вы можете запустить своего бота.
// Он подключится к серверам Telegram и будет ждать сообщений.
// Запустите бота.
bot.start();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Теперь вы можете запустить бота, выполнив команду
deno run --allow-net bot.ts
в вашем терминале. Готово! 🎉
Перейдите в Telegram, чтобы посмотреть, как ваш бот отвечает на сообщения!
Включение логов
Вы можете включить базовое ведение логов, выполнив команду
export DEBUG="grammy*"
в терминале перед выполнением node bot
. Это облегчает отладку вашего бота
Теперь вам нужно запустить бота, используя
deno run --allow-net --allow-env bot.ts
чтобы grammY мог определить, что DEBUG
установлен.