¿Cómo acepto una cadena como argumento? (discord.py reescribir)
Dec 17 2020
Intentando crear un comando discord.py que acepte una cadena como argumento. ¿Cómo acepto una cadena de un mensaje de Discord (aunque si pudiera decir cómo hacer booleanos y enteros, sería útil) como argumento? Hice mi mejor pato-fu en vano.
Importaciones
os
discord
json
requests
python-dotenv
pymediawiki
Código de ejemplo
#Existing bot
@bot.command()
async def combinestring(ctx):
#argument should be called arg
#process string
(No me importa agregar más si es necesario).
Respuestas
1 ŁukaszKwieciński Dec 17 2020 at 16:28
Es literalmente lo primero que aparece al leer la introducción a los comandos, aquí está el enlace
También aquí hay un ejemplo
@bot.command()
async def foo(ctx, arg):
await ctx.send(arg)
# To invoke
# !foo hello
# >>> hello
JoaquimEsteves Dec 17 2020 at 15:41
¿Ha mirado otras preguntas sobre la recepción de mensajes del bot de discordia?
- https://stackoverflow.com/a/61851683/6595024
- https://stackoverflow.com/a/49127887/6595024
editar: Respuesta actualizada dada actualización a la pregunta
iamthetrueyes Dec 20 2020 at 17:49
Es bastante simple. Si quieres tener un argumento sin espacios,
@bot.command()
async def combinestring(ctx, arg: str):
#your code
Si quieres tomar un argumento con espacios,
@bot.command()
async def combinestring(ctx, *, arg):
#your code
Hecho.