#python #discord
Вопрос:
как у меня есть несколько аргументов в одной команде в discord.py?
например user: /say string
bot: string
или user: /repeat integer
bot: (repeats something a number of times)
или user: /kill @mention
bot: user killed @mention
и есть ли способ, которым вы можете объединить их все в одну команду?
Комментарии:
1. Я действительно не понимаю, что вы пытаетесь здесь сделать. У вас есть какой-нибудь код, демонстрирующий ваше текущее использование команд косой черты и что вы хотите в нем изменить? Я не вижу, чтобы какая-либо из ваших команд имела несколько аргументов в ваших трех примерах.
Ответ №1:
Я считаю, что этот код должен решить вашу проблему:
import discord from discord.ext import commands bot = commands.Bot(command_prefix='/') @bot.command() async def say(ctx, string: str): await ctx.send(string) @bot.command() async def repeat(ctx, integer: int): for i in range(integer): await ctx.send("Repeating something") @bot.command() async def kill(ctx, mention: discord.Member): await ctx.send("user killed {}".format(mention))
Комментарии:
1. Спасибо! вы просто забыли добавить
await
2. другая проблема заключается в том, что для строкового он может отправить только 1 слово