Discord бот не отвечает на серверах
Код:
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('токен')
пытался решить проблему чекая разрешения и настройки, но не разобрался. Стоит разрешение отправлять сообщения, закинул на сервер, но отвечает только в лс
Ответы (3 шт):
Есть несколько возможных причин, по которым ваш бот может не отвечать на серверах:
Неправильный токен. Убедитесь, что вы используете правильный токен для своего бота. Если вы повторно создали токен, вам нужно будет обновить код с помощью нового токена.
Бот не добавлен на сервер: бот должен быть добавлен на сервер, прежде чем он сможет отвечать на команды. Убедитесь, что бот добавлен на сервер и имеет необходимые разрешения.
Бот не в сети. Убедитесь, что бот подключен к сети и работает на вашем устройстве. Если вы запускаете бота локально, убедитесь, что ваше интернет-соединение стабильно и что ваше устройство не находится в спящем режиме.
Неверный префикс команды: убедитесь, что вы используете правильный префикс команды при попытке вызвать бота. Префикс задается при создании бота, по умолчанию «/».
Бот ограничен по скорости: Discord накладывает ограничение на скорость для всех запросов API, включая команды бота. Если ваш бот делает слишком много запросов слишком быстро, его скорость может быть ограничена.
Бот заблокирован Discord: если ваш бот заблокирован Discord, проверьте, не нарушает ли ваш бот условия обслуживания Discord.
Бот может работать со сбоями из-за ошибки в коде, обязательно проверьте свой код на наличие ошибок и исправьте их
Бот заблокирован владельцем или администратором сервера, уточните у них заблокирован бот или нет
Если бот работает на твоём пк попробуй на хостинг кинуть вот 1 хост: Replit
Попробуйте выполнить эти шаги, и если у вас все еще есть проблемы, предоставьте дополнительную информацию о проблеме и сообщениях об ошибках, если таковые имеются, которые вы получаете.
На сайте - https://discord.com/developers/applications
В разделе Bot
Включите следующие пункты: PRESENCE INTENT SERVER MEMBERS INTENT MESSAGE CONTENT INTENT
Бот не работает т.к. у Вашего бота не включены Intents.
Я отвечал на данный вопрос здесь.
После включения измените строку:
bot = commands.Bot(command_prefix='/', intents=discord.Intents.default())
На:
bot = commands.Bot(command_prefix='/', intents=discord.Intents.all())
