Discord бот не отвечает на серверах

Рейтинг: 0Ответов: 3Опубликовано: 15.01.2023

Код:

import openai
import discord
from discord.ext import commands

openai.api_key = "ключик"
bot = commands.Bot(command_prefix='/', intents=discord.Intents.default())

@bot.command()
async def chat(ctx, *, message):
    if ctx.guild is None:
        await ctx.send("This command can only be used on a server.")
        return

    response = openai.Completion.create(
        engine="text-davinci-002",
        prompt=f"User: {message}",
        max_tokens=2048,
        n=1,
        stop=None,
        temperature=0.5,
    )

    await ctx.send(f'ChatGPT: {response.choices[0].text}')

bot.run('токен')

пытался решить проблему чекая разрешения и настройки, но не разобрался. Стоит разрешение отправлять сообщения, закинул на сервер, но отвечает только в лс

скрин консоли введите сюда описание изображения

Ответы

▲ 0Принят

Бот не работает т.к. у Вашего бота не включены Intents. Я отвечал на данный вопрос здесь.

После включения измените строку:

bot = commands.Bot(command_prefix='/', intents=discord.Intents.default())

На:

bot = commands.Bot(command_prefix='/', intents=discord.Intents.all())
▲ 1

Есть несколько возможных причин, по которым ваш бот может не отвечать на серверах:

  1. Неправильный токен. Убедитесь, что вы используете правильный токен для своего бота. Если вы повторно создали токен, вам нужно будет обновить код с помощью нового токена.

  2. Бот не добавлен на сервер: бот должен быть добавлен на сервер, прежде чем он сможет отвечать на команды. Убедитесь, что бот добавлен на сервер и имеет необходимые разрешения.

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

  4. Неверный префикс команды: убедитесь, что вы используете правильный префикс команды при попытке вызвать бота. Префикс задается при создании бота, по умолчанию «/».

  5. Бот ограничен по скорости: Discord накладывает ограничение на скорость для всех запросов API, включая команды бота. Если ваш бот делает слишком много запросов слишком быстро, его скорость может быть ограничена.

  6. Бот заблокирован Discord: если ваш бот заблокирован Discord, проверьте, не нарушает ли ваш бот условия обслуживания Discord.

  7. Бот может работать со сбоями из-за ошибки в коде, обязательно проверьте свой код на наличие ошибок и исправьте их

  8. Бот заблокирован владельцем или администратором сервера, уточните у них заблокирован бот или нет

  9. Если бот работает на твоём пк попробуй на хостинг кинуть вот 1 хост: Replit

Попробуйте выполнить эти шаги, и если у вас все еще есть проблемы, предоставьте дополнительную информацию о проблеме и сообщениях об ошибках, если таковые имеются, которые вы получаете.

▲ 0

На сайте - https://discord.com/developers/applications

В разделе Bot

Включите следующие пункты: PRESENCE INTENT SERVER MEMBERS INTENT MESSAGE CONTENT INTENT