Запуск node.js бота с Android смартфона в Spck Editor for NodeJS

Запуск node.js бота с Android смартфона в Spck Editor for NodeJS

Инженерия себя

Программировать на смартфоне? Да, теперь это можно (хотя, по-моему, на компьютере это намного удобнее).

Можно даже запустить бота на платформе node.js (написанного на языке программирования JavaScript).

К сожалению, редактор, в котором можно удобно это сделать (Spck Editor for NodeJS) в бесплатной версии позволяет запускать терминал всего на 1 час в сутки. Но попробовать можно.

Устанавливаем Spck Editor for NodeJS

Можно нажать на ссылку или найти его в Play Market. Важно установить именно этот, т.к. есть похожее приложение без поддержки NodeJS, оно нам не подойдет.

Запускаем приложение

Проект по умолчанию нам не нужен, мы будем создавать чистый новый проект. Заходим в меню - кнопочка слева

Потом еще раз самую левую кнопочку, уже в виде самолетика, и попадаем в такое меню.

Выбираем "Рабочая среда", кликаем по пустоте справа и нажимаем на плюсик - создание нового проекта.

Никакой шаблон нам не нужен, так что просто No Framework. С пустым проектом нам будет удобнее. Вам предложат назвать проект - можно написать Bots или как вам нравится.

Ура, пустой файл! Снова выбираем меню

И здесь нам нужно создать файл. Назовем его index.js

Создали файл? Тыкаем на пустое поле справа, чтобы перейти в редактор.

В редакторе в файл вам нужно вставить этот код бота:

process.env.BOT_TOKEN = 'СЮДА_ТОКЕН';
const { Bot } = require('grammy');
const bot = new Bot(process.env.BOT_TOKEN)
// Код ниже заставляет отвечать на любое сообщение текстом 'Приветик!'
bot.command('start', (ctx) => ctx.reply('Да, хозяин'));
bot.command('help', (ctx) => ctx.reply('Чем я могу помочь?'));
// Код ниже заставляет отвечать на стикеры заданным текстом
bot.on(':sticker', (ctx) => ctx.reply('Вы прислали стикер, подлец!'));
// Код ниже заставляет отвечать на присланный текст. Он отвечает заданным текстом и вашей цитатой:
bot.on(':text', (ctx) => ctx.reply('Приветик! Вы написали:' + ctx.message.text));
bot.start();

Со вставкой могут быть сложности, т.к. непонятно - где же кнопка "вставить"? Ее можно найти, тыкнув на нижней панельке сначала стрелочки "вправо" (1). Появится кнопочка (2) на скриншоте. Именно она и есть - вставить. Нажимай на нее.

Вообще в будущем можно понажимать на все подряд, чтобы понять, как же работает этот редактор кода.

Вверху кода у нас есть строчка с СЮДА_ТОКЕН. На это место нужно будет вставить токен, который мы получим от BotFather

Создание бота через Botfather

Перейдите в телеграм к https://t.me/BotFather и отправьте ему команду /newbot

Далее задаем имя нашего бота и Username (придется взять что-то подлинее, т.к. все короткие заняты). Username бота обязан заканчиваться на bot, иначе Botfather не примет его. Например, это может быть ya_tvoy_ahaha_bot

В ответе Botfather будет кое-что важное. Это секретный токен нашего бота!

Скопируй токен из ответа в буфер (достаточно нажать на него) и возвращайся в Редактор, чтобы вставить его в первой строчке вместо 'СЮДА_ТОКЕН'. Кавычки нужно оставить, заменив токеном только текст внутри.

Смотри предыдущий скриншот из редактора. Тыкни два раза на СЮДА_ТОКЕН - текст выделитсья. Потом тыкай на кнопочку вставить, чтобы текст заменился на содержание буфера обмена (там должен быть твой скопированный токен).

Код бота готов!

Запускаем терминал

Нажми на три точки справа в вверхнем углу редактора и выбери Терминал:

Тебе предложат залогиниться. Можно логиниться через гугл. У меня сработало со второго раза (пришлос два раза нажимат "залогиниться" и выбрать аккаунт).

Дальше встречаемся с ограничением бесплатной версии:

Терминал будет работать только 1 час в день. Грустно, но хватит, чтобы немного потестировать бота.

Попав в терминал, нужно выпонить такие команды. Пиши:

npm init

нажимай  ↵ enter

Эта команда "инициирует наш проект". Терминал задаст тебе много вопросов, на все просто нажимай ↵ enter

Когда перестанет спрашивать - выполняй следующую команду:

npm install grammy --save

вставь текст выше и нажми ↵ enter - пойдет процесс установки.

Пояснение:

npm install - команда для установки библиотеки API (набора готовых функций) из онлайн-каталога.

grammy - название нашей библиотеки. Она упрощает работу с серверами Телеграма (вместо сложных запросов к Телеграму у нас будут более простые и понятные функции)

--save - означает, что библиотека сохраняется не глобально на компьютере, а именно в нашу папочку (нужно ли это в нашем редакторе на смартфоне - не знаю, но сделаем как обычно)

Инструкция к библиотеке grammy, если ты уже готов к такому, находится здесь: https://grammy.dev/guide/introduction.html (с ее помощью возможно любое сложное взаимодействие с твоим ботом)

Запуск бота

Когда библиотека установлена - в этом же терминале выполняем команду для запуска бота:

node index.js

(не забываем нажимать ↵ enter для выполнения команды)

index.js здесь - это имя файла, которое мы создавали. Если в будущем у тебя будут другие боты в других файлах - нужно будет вписывать их имя (например, если файл - anonchat.js, то для запуска бота пиши node anonchat.js и нажимай ↵ enter).

Тестируем бота

А теперь переходим к нашему боту. Его можно найти в Телеграм по Username, который мы задали при создании бота через Botfather. Или возвращаемся в сам Botfather - в последнем сообщении была ссылка на нашего бота.

Отправляем нашему боту /start и другие варианты:

Видишь, что он отвечает?

Теперь можно вернуться в редакторе в свой код... и подредактировать эти тексты, написав что-то свое :)

Потом возвращаешься в терминал и снова его запускаешь командой

node index.js

Примеры кода ботов

Примеры ботов можно скачать в этой статье: https://telegra.ph/Primery-koda-botov-01-11.

Можно запустить и поисследовать код этих ботов. Там ты найдешь:


Продолжение инструкции можно взять из основной статьи:

Вопросы и общение в специальной группе: https://t.me/+Q9ZIMY6x_o0zNDM6




Report Page