rusyator
@rusyator

Рабочий дискорд бот вдруг перестал выполнять команды. В чем причина?

У меня был довольно большой код, который нормально работал и мне его хватало. Этого бота я оставил месяца на 2 и не пользовался им, после чего снова запустил, а он практически ни на что не реагирует. Ниже я вырезал отдельные части этого кода, но из всех команд он только пытается скопировать сообщение в другой чат, но записывает туда только имя отправителя без самого текста. Что могло произойти и как это исправить? Пытался переприглашать, выдавать разные роли и права, но ничего не помогло.

from discord.ext import commands
from discord_components import DiscordComponents, Button, ButtonStyle

TOKEN = "Тут мой токен"

client = commands.Bot(command_prefix=('.'))
client.remove_command( 'help' )


@client.event
async def on_ready():
    DiscordComponents(client)
    print("Я запущен!")

@client.command()
async def send(ctx):
     await ctx.author.send ('Привет')

@client.command( pass_context = True )
async def clear( ctx, amount = 1000 ):
 await ctx.channel.purge( limit = amount)

@client.event
async def on_message(message):

   if message.channel.id == 983379775836008500:
       embed = discord.Embed(
           description=f'{message.content}\nАвтор: {message.author}',
           color=0xFF0033
       )

       await client.get_channel(983410250520604733).send(embed=embed)


client.run(TOKEN)
  • Вопрос задан
  • 283 просмотра
Пригласить эксперта
Ответы на вопрос 2
@x4zx
junior python developer
А вообще лучше переходить на слеш-команды, ибо дискорд уже всё делает под них. А библиотека discord_components вообще заброшена разработчиком. Кнопки уже давно есть в discord.py версии 2.0
Ответ написан
@DF0rig
clay
Код вообще не правильный. Попробуй следующее:
import discord
from discord.ext import commands
from discord_components import DiscordComponents, Button, ButtonStyle

TOKEN = "Тут мой токен"

client = commands.Bot(command_prefix='.')
client.remove_command( 'help' )


@client.event
async def on_ready():
    DiscordComponents(client)
    print("Я запущен!")

@client.command()
async def send(ctx):
     await ctx.author.send('Привет')

@client.command(pass_context = True )
async def clear(ctx, amount=1000 ):
 await ctx.channel.purge(limit = amount)

@client.event
async def on_message(message):

   if message.channel.id == 983379775836008500:
       embed = discord.Embed(
           description=f'{message.content}\nАвтор: {message.author}',
           color=0xFF0033
       )
       temp_channel = client.get_channel(983410250520604733)
       await message.channel.send(embed=embed)
 await bot.process_commands(message)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
01 окт. 2023, в 12:14
1500 руб./за проект
01 окт. 2023, в 11:31
40000 руб./за проект
01 окт. 2023, в 08:53
15000 руб./за проект