Заранее отметим, что большая часть этого занятия написана по документации Grammy. Вы можете найти в документации практически всю необходимую информацию. Если что-то непонятно, обращайтесь в первую очередь к документации. Например, то, как создать собственную клавиатуру, описано здесь.
Перейдите на Visual Studio Code, после чего скачайте и установите VSCode.
Откройте терминал и введите winget install DenoLand.Deno
. Дождитесь окончания установки, закройте терминал. После этого откройте терминал снова и введите deno --version
. Если версия вывелась, значит, Deno установлен.
Откройте VSCode, перейдите на вкладку “Расширения”, найдите и установите расширение Deno. Важно установить его именно после установки Deno в терминале.
Далее вам будет необходимо использовать репозиторий с нашим примером, проще всего скачать его, используя Git. Для начала можете сделать форк этого репозитория и попробовать подключить к форку Deno Deploy, этот процесс описан ниже.
Создайте бота в BotFather. Введите адекватные имя и никнейм бота, именно его вы будете представлять на защите.
Если вы хотите, чтобы у вашего бота была синяя кнопочка со всеми командами, или добавить описание и аватар вашему боту, надо будет сделать позднее именно в BotFather.
Зарегистрируйтесь на Deno Deploy , после этого подключите свой GitHub-репозиторий с ботом. Вставьте токен из BotFather (строчку после “Use this token to access the HTTP API:”) в Environment Variables в настройках проекта. Название переменной – BOT_TOKEN, сам токен должен выглядеть примерно вот так: 7791532374:AAEhHzbO06Irb-cig0V5-6Qz7imDP9IH9
Если не добавить токен, процесс развертки бота закончится с ошибкой, и нужно будет отправить какое-нибудь изменение в репозиторий на GitHub, чтобы затриггерить Deno Deploy. Для этого можете добавить пустую строчку в любой файл и отправить
После этого, если вы видите, что установка бота прошла успешно, необходимо привязать нашего бота к вебхуку. Посмотрите url-адрес вашего проекта на dash.deno.com/projects/ (он похож на alexandersa-denobotexam-29-1m90vgq50ffb.deno.dev, если вы его не меняли) и вставьте его в ссылку https://api.telegram.org/bot<токен>/setWebhook?url=/<токен>/webhook, пройдите по этой ссылке.
{
"ok": true,
"result": true,
"description": "Webhook was set"
}
Если результат такой, то все прошло успешно, и можно смело писать боту.