I'm trying to make a bot with a command wich can be triggered by a user to send a file. I managed to get it working, but now it's says everytime i launch the bot, that: This client already has an associated command tree. Maybe someone can help me with that, if there is a old, is there a command to delete it on startup of the bot?
My code:
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
client = commands.Bot(command_prefix="/", intents=intents)
commandTree = discord.app_commands.CommandTree(client)
@client.event
async def on_ready():
print(f'We have logged in as {client.user}')
@commandTree.command(name="command", description="Some command")
async def upload(ctx, *, file: discord.File = None):
if not file:
await ctx.send("You didn't include a file.")
else:
await file.save(f"uploads/{file.filename}")
await ctx.send(f"File '{file.filename}' uploaded successfully.")
The error:
discord.errors.ClientException: This client already has an associated command tree.
Your client
variable already have a command Tree. You can just use it without redefine another one.
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
client = commands.Bot(command_prefix="/", intents=intents)
# commandTree = discord.app_commands.CommandTree(client)
@client.event
async def on_ready():
print(f'We have logged in as {client.user}')
@client.tree.command(name="command", description="Some command")
async def upload(ctx, *, file: discord.File = None):
if not file:
await ctx.send("You didn't include a file.")
else:
await file.save(f"uploads/{file.filename}")
await ctx.send(f"File '{file.filename}' uploaded successfully.")