Бот не отвечает дискорд

Почему мой бот не отвечает на мое сообщение?
Сначала я ввожу confess, затем он сообщает сообщение, но он не обнаруживает, что я продолжаю и отвечаю на это. Что мне делать?

Ответ №1:

Хорошо, прежде всего, постарайтесь быть более конкретными, задавая вопросы, есть руководство stackoverflow о том, как вы должны задавать их эффективно. Прямо сейчас вы выражаетесь неясно, и мне придется кое-что предположить. Кроме того, по возможности включайте трассировку стека, которая должна была быть, поскольку вы предоставляете некоторые недопустимые свойства, если у вас их нет, пожалуйста, укажите, что в вопросе нет трассировки стека.

В этом коде много чего не так. Во-первых, причина, по которой ваш бот вообще не отвечает вам, заключается в том, что message.channeltype это не свойство. Используйте message.channel.type вместо этого. Также что-то не так с вашим message.channel.awaitMessages() . Вы передаете строку «ответа» в качестве параметра, где должен быть фильтр.

Поскольку вам не нужен фильтр, поскольку это канал dm, вы можете просто передать его как null message.channel.awaitMessages(null, msg => < >); . И awaitMessages — это неправильный вызов здесь. Ожидание сообщений принимает сообщения в течение определенного периода времени, а затем разрешает обещание со всеми собранными сообщениями. Вы должны использовать discord.js коллекционер.

НЕ ВИДНО СООБЩЕНИЙ БОТОВ В ДИСКОРДЕ — РЕШЕНИЕ ТУТ !!!

Вы также не должны использовать client.on(«сообщение») здесь. Я предполагаю, что вы хотите дождаться сообщений в любом канале после того, как кто-то «поделился своим секретом». Вы можете сделать это с помощью сборщика.

Если вы хотите собирать сообщения по всему боту или только в одном канале сервера discord (используя фильтр, который можно найти в документации), вы можете использовать коллектор. Это будет ждать, в течение нескольких миллисекунд, для любого события и отфильтровывать триггеры событий, которые не разрешены. И когда он получит это, он запустит лямбда. Вот так:

const filter = m => m.channel === message.channel amp;amp; m.author = message.author); // The filter that will sort out the messages const collector = message.channel.createMessageCollector(filter, < time: 30000 >); // creates a collector that will wait for 30 seconds collector.on(‘collect’, m => < // When somebody sends a message // . if (message.

content === ‘2’) < // . > else if (message.content === ‘1’) < // . > else < message.reply(‘you need to say either 1 or 2. Please try again.’); return; > collector.stop(); // Makes sure that the collector no longer will receive anymore messages. >);

Еще по теме:  Как добавить бота в дискорд сервер

Окончательный код (заполните пробелы, я не собираюсь кодировать все это для вас)

client.on(«message», message => < if(message.channel.type = ‘dm’) if (message.content === «confess») const filter = m => m.channel === message.channel amp;amp; m.author = message.

author; // The filter that will sort out the messages const collector = message.channel.createMessageCollector(filter, time: 30000>) collector.on(‘collect’, message => < const otherCollector = message.channel.createMessageCollector(filter, < time: 30000>) otherCollector.on(‘collect’, message => < if (message.

Новый краш бот дискорд!!! Смотри до конца

content === ‘2’) < // . > else if (message.content === ‘1’) < // . > else < message.reply(‘you need to say either 1 or 2. Please try again.’); return; > collector.stop(); // Makes sure that the collector no longer will receive anymore messages. >) >) >)

Кроме того, прежде чем задавать вопросы на любом форуме или сервере discord, всегда просматривайте документацию.

Это помогает в 99% случаев, если только документы не являются абсолютным мусором.

Ответ №2:

Пожалуйста, ознакомьтесь с документами. Я бы сказал, что Discord.JS документы — довольно удобный справочник.

Для первой части message.channeltype не является реальным свойством и не используется = . Это для установки переменных, используйте == или === вместо (в чем разница?). Вы можете использовать message.channel.type или instanceof использовать следующим образом: message.channel instanceof Discord.DMChannel . Замените Discord на любой другой ваш Discord.Вызывается переменная импорта JS.

В ваших if s отсутствуют некоторые <> , их следует использовать следующим образом.:

if(message.channel instanceof Discord.DMChannel) < //If the channel IS a DMChannel > else return;

К вашему сведению, если вы планируете выполнять несколько команд, я бы использовал переключатель и способ преобразования message.content в аргументы (массив строк).

message.channel.get это не вещь, используйте client.channels.cache.get . Переменные C и WDI / WDID должны быть var перед ними.

Затем вам нужно добавить фильтр плюс максимальное количество сообщений, ограничение по времени и минимальное количество сообщений для вашей awaitMessages функции. Кроме того, вам нужно then и catch , так что теперь ваш код может выглядеть так

if(message.channel instanceof Discord.DMChannel) < if (message.content === «confess») < message.channel.send(«OOOOOOoooooo A SECRET. WHAT IS IT. «) message.reply(«Um. theres two servers that this bot works on. 1: Loves in the snow or 2:Moomins and Shep’s Therapy Service. Pick a number to send it to one of them») const filter = m => m.author == message.author; message.channel.

awaitMessages(filter, /* whatever your parameters/limits are */>) .then(col => < if (col.content === «2») < /** Add in code */ > else if (col.content === «1») < /** Add in code */ > >) .catch(col => /** Whatever you want to do if times up. */>) > >

Еще по теме:  Не слышу собеседника в discord

Возможно, вы захотите настроить фильтр для этого.

Источник: programbox.ru

Бот Discord не отвечает на команды

Я начал делать бота для своего сервера Discord, но я совершенно новичок в этом (у меня есть навыки программирования, но в веб-разработке). Я создал приложение на портале разработчиков Discord, я создал папку на своем ПК, я создал файл package.json , файл main.js , установил node.js, установил discord.js, я развернул своего бота на тестовом сервере и т. д. (не в таком порядке, а как бы то ни было).

Затем, следуя инструкциям на сайте, я сделал это в файле index.js :

const Discord = require(‘discord.js’); const client = new Discord.Client(); client.once(‘ready’, () => < console.log(‘Ready!’); >); client.on(‘message’, message => < if (message.content === ‘!ping’) < message.channel.send(‘Pong.’); >>); client.login(‘ I PUTTED MY TOCKEN HERE ‘);

Когда я помещаю команду !ping на созданный мной тестовый сервер, бот остается в автономном режиме, и я не получаю Pong .

Не могли бы вы мне помочь, пожалуйста?

user13329014 28 Ноя 2020 в 17:51

1 ответ

Лучший ответ

Если бот не включается, это означает, что вы неправильно вошли в систему или запустили бота. Попробуйте определить token как const token = «BOT TOKEN HERE» , затем поместите client.login(token) вместо того, что у вас есть.

Если это не поможет, также убедитесь, что вы выполнили node . в своем терминале, который запустит бота.

Итак, весь ваш код должен выглядеть примерно так:

const Discord = require(‘discord.js’); const client = new Discord.Client(); const token = «bot token here»; client.on(‘ready’, () => < console.log(‘Ready!’); >); client.on(‘message’, message => < if (message.content === ‘!ping’) < message.channel.send(‘Pong.’); >>); client.login(token);

Источник: question-it.com

Бот в Телеграмме не отвечает — что делать

бот телеграмм не отвечает что делать

Бывают случаи, когда бот в Телеграмм перестает реагировать на отправляемые пользователем запросы. В материале разберемся, что делать, если бот в Телеграмме не отвечает на команды.

Причины появления сбоя

Первое, что нужно знать:

  • боты в Телеграмм управляются с помощью API-интерфейса;
  • API-интерфейс связан с локальным сервером, который получает команды.

На примере это выглядит следующим образом:

  • пользователь в интерфейсе чат-бота пишет команду /start;
  • запрос перенаправляется на сервер Телеграмм и затем в API;
  • API-интерфейс обрабатывает запрос и отправляет боту инструкции, что делать;
  • юзер получает ответ.

Поэтому основными причинами, почему бот не отвечает на команды могут быть следующие случаи:

  • сбой в работе сервера;
  • проблемы с соединением на телефоне.

Разберемся с каждой причиной отдельно и представим способы решения проблемы.

Сбой на стороне сервера Телеграмм

Сбой на стороне сервера может возникнуть из-за аппаратных неисправностей или DDoS-атак. Решение одно – посмотреть официальные группы Телеграмм и узнать, когда будут устранены неполадки. После этого проверить работоспособность виртуального ассистента, но перед этим его перезапустить. Действие доступно на телефонах и персональном компьютере.

Еще по теме:  Как переводится слово discord

Чтобы проверить Телеграмм бота На Android и iPhone, нужно:

  1. Открыть ленту.
  2. Выбрать бота и нажать по аватарке.
  3. Вверху тапнуть по трем вертикальным точкам.
  4. В контекстном меню нажать «Остановить».
  5. Вернуться в чат с ботом и внизу коснуться кнопки «Запустить».
  1. Запустить Телеграмм с рабочего стола.
  2. В ленте выбрать и открыть chat бота.
  3. Кликнуть по наименованию виртуального помощника.
  4. На странице информации нажать по трем вертикальным точкам.
  5. В диалоговом окне активировать «Остановить».
  6. Вернуться в чат и внизу щелкнуть «Запустить».

что делать telegram message не отвечает

Ассистент bot снова начнет работу в штатном режиме. Если же он все равно не запускается и не отвечает, придется делать проверку сети.

Проблемы с сетью

Стабильность работы Телеграмма и его компонентов, включая ботов, возможна, если на телефоне есть постоянный доступ к беспроводной или мобильной сети. Алгоритм исправления проблемы следующий:

  1. Через верхнюю шторку меню поочередно проверяйте стабильность интернета, активируя сначала беспроводную сеть, а затем мобильную и одновременно сравнивая, как работает мессенджер.
  2. Если предполагается использование мобильной сети, то выставьте протокол передачи данных 4G, LTE или H+. Откройте «Настройки», «Мобильная сеть», «Передача данных», «Режим сети». Во вкладке выберете пункт «4G/LTE/H+/3G».

После установки новых сетевых параметров перезагрузите устройство.

Другие причины нестабильной работы чат-бота в Телеграмм

Основные причины рассмотрены, есть и другие случаи, когда бот не отвечает на команду: обновление токена и использование неверных запросов.

Обновление токена

Если токен попадает в руки другому человеку, то необходимо его обновить: администратор Телеграмм канала или группы, в которых используются ассистенты генерирует новый токен (идентификатор для распознавания и установления подлинности бота на сервере). Бот начинает использовать обновленный алгоритм безопасного соединения.

Ответственные владельцы сообществ должны дать подписчикам инструкции по перезапуску приложения, чтобы применить новые настройки. Если этого не происходит, то после апдейта токена у пользователей могут возникнуть сбои – помощник перестает реагировать на команды, не отвечает на запросы. Что делать в этом случае?

Решение проблемы – перезапустить ассистента:

  1. Нажать по аватарке чат-бота.
  2. Вверху тапнуть по трем вертикальным точкам.
  3. В контекстном меню активировать «Остановить».
  4. Подождать немного и нажать «Запустить».

Параметры, заданные администратором сообщества, будут применены к чат-боту.

Неверные команды

Боты используют определенные команды, которые заданы во время разработки на языке Python. Если набирать запросы с ошибками, то виртуальный помощник никак не отреагирует. Рекомендуется ознакомиться со списком кодов, который появляется при запуске чат-бота. Если не хотите вводить команды вручную, воспользуйтесь вкладкой «Меню», выбирая нужный запрос.

Фото: Alex Knight Unsplash

Источник: telega-blog.ru

Рейтинг
( Пока оценок нет )
Загрузка ...