@alherisoff

Проблема в боте тг на ноде?

Выдаёт такую ошибку: error: [polling_error] {}
const TelegramBot = require('node-telegram-bot-api');
const fs = require('fs');
const path = require('path');
const Captcha = require('captcha-canvas');

const token = '';
const bot = new TelegramBot(token, {polling: true});

function generateCaptcha() {
const captcha = new Captcha();
const code = Math.floor(Math.random() * 10000);
captcha.draw(Number(code));
const buffer = captcha.toBuffer();
return { code, buffer };
}

bot.onText(/\/captcha/, (msg) => {
const chatId = msg.chat.id;
const { code, buffer } = generateCaptcha();
bot.sendPhoto(chatId, buffer, { caption: 'Введите цифры на картинке' });

bot.onReplyToMessage(chatId, msg.message_id, (reply) => {
const userCode = parseInt(reply.text);
if (userCode === code) {
bot.sendMessage(chatId, 'Правильно!');
} else {
bot.sendMessage(chatId, 'Неправильно!');
}
});
});
  • Вопрос задан
  • 558 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Velays
Ошибка, которую вы получаете, означает, что произошла ошибка при получении обновлений от Telegram через Long Polling. Возможно, бот не может установить соединение с серверами Telegram или произошла какая-то другая ошибка.

Если вы используете Long Polling для получения обновлений от Telegram, убедитесь, что ваш бот может подключаться к серверам Telegram. Вы можете попробовать отключить Long Polling и использовать Webhooks вместо него.

Кроме того, убедитесь, что вы правильно указали токен бота в своем коде. Если вы не указали токен, как в вашем примере, бот не сможет подключиться к серверам Telegram и вы получите ошибку.

Также проверьте, что вы установили все зависимости, включая node-telegram-bot-api и captcha-canvas. Если вы не установили эти зависимости, ваш код не будет работать.

Наконец, вы можете попробовать добавить обработку ошибок в свой код, чтобы получить более подробную информацию о том, что пошло не так. Например, вы можете использовать конструкцию try-catch для обработки ошибок в вашем коде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы