бот выдает ошибку 'Conflict: terminated by other getUpdates request; make sure that only one bot instance is running',

require('dotenv').config();
const { Bot, InlineKeyboard } = require('grammy');
const bot = new Bot(process.env.TOKEN_BOT);

console.log('диванный бот был успешно запущен...');

bot.on('message', async (ctx) => {
  await bot.reply(ctx);
});

bot.on(':new_chat_members', async (ctx) => {
  const newMembers = ctx.message.new_chat_members;

  for (member of newMembers) {
    const userId = member.id;
    const userIsBot = member.is_bot;
    const ruleButton = new InlineKeyboard()
      .url('Ознакомиться с  правилами', 'https://stroy.h1n.ru/rules-couch.html');

    if (userIsBot) {
      await ctx.banChatMember(userId);
      await ctx.reply(`Бот ${member.username} был.`);
    }

    if (!userIsBot) {
      await ctx.reply(`Привет ${member.first_name}! Прежде чем начать общение, тебе необходимо ознакомиться с правилами нашего сообщества.`,{
          reply_markup: ruleButton
        });
    }
  }
});

bot.catch((err) => {
  const ctx = err.ctx;
  console.error(`Error while handling update ${ctx.update.update_id}:`);
  const e = err.error;
  if (e instanceof GrammyError) {
    console.error("Error in request:", e.description);
  } else if (e instanceof HttpError) {
    console.error("Could not contact Telegram:", e);
  } else {
    console.error("Unknown error:", e);
  }
});

bot.start();

Ответы (1 шт):

Автор решения: Justiks

Решение ошибке прямо в ней. Если говорить простым языком, вы запустили 2 или более экземпляров бота. Для решения проблемы выключите лишние, и оставьте один. Возможно вам придется воспользоваться диспетчером задач, чтобы найти лишний экземпляр бота

→ Ссылка