Початок роботи
Створіть свого першого бота за лічені хвилини. Прокрутіть униз, щоб перейти до посібника для 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
і передати свій токен конструктору 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
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
Скомпілюємо код, виконавши
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.27.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
Тепер ми можемо запустити бота, виконавши
deno run --allow-net bot.ts
у терміналі. Готово! 🎉
Перейдемо у Telegram, щоб побачити, як бот відповідає на повідомлення!
Увімкнення журналювання
Ми можемо ввімкнути базове журналювання, виконавши
export DEBUG="grammy*"
у терміналі, перш ніж запустити бота. Це полегшує налагодження вашого бота.
Тепер потрібно запустити бота за допомогою наведеної нижче команди.
deno run --allow-net --allow-env bot.ts
Тоді grammY зможе виявити, що встановлено DEBUG
.