Top.Mail.Ru
Ответы

ДС БОТ. Работает только одна команда

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
 from discord.ext import commands 
import requests 
 
client = discord.Client() 
bot = commands.Bot(command_prefix="!") 
 
@client.event 
async def on_ready(): 
    print('Бот готов!') 
 
@client.event 
async def on_message(message): 
    if message.content.startswith('!создатьканалы'): 
        guild = message.guild 
 
        # Удалить все каналы 
        for channel in guild.channels: 
            await channel.delete() 
 
        # Создать 20 каналов с названием "RAID OUT SIDE SQUAD" 
        for i in range(20): 
            await guild.create_text_channel(name="RAID OUT SIDE SQUAD") 
 
    if message.content.startswith('!изменение_сервера'): 
        guild = message.guild 
        try: 
            await guild.edit(name="OUT SIDE ЕБЁТ!", icon="https://standoffarena.com/assets/images/users/460496.jpg?cache=1674563834") 
            await message.channel.send("Название и аватарка сервера успешно изменены.") 
        except discord.errors.Forbidden: 
            await message.channel.send("У меня нет прав для изменения названия и аватарки сервера.") 
client.run("тут токен") 
 
import discord 
from discord.ext import commands 
import requests 
 
client = discord.Client() 
bot = commands.Bot(command_prefix="!") 
 
@bot.command(name="spam") 
async def spam_command(ctx): 
    for channel in ctx.guild.channels: 
        for i in range(20): 
            data = {"content": "12"} 
            headers = {"Authorization": "Bot тут токен"} 
            requests.post(f"https://discord.com/api/v9/channels/{channel.id}/messages", json=data, headers=headers) 
bot.run("Тут был токен") ``` 


Делаю дискорд рейд бота, нужно чтобы при написании !spam должен быть спам сообщениями . Только когда запускаю, работает только эта команда !создатьканалы, а остальной (!изменение_сервера) не работает. Код на python. Библиотека ДИскорд

Код

По дате
По Рейтингу
Аватар пользователя
Новичок
  1. У тебя два фрагмента кода, в одном юзаешь client, в другом bot. Исправь, выбери что-то одно

  2. В первом используешь client.event, во втором - bot.command. Используй везде bot.command вместе с discord.ext.commands

  3. В коде есть команды для изменения названия и аватарка канала, боту нужны права для этого - поэтому тоже может не работать.