Como aceito uma string como argumento? (discord.py reescrever)
Dec 17 2020
Tentando fazer um comando discord.py que aceita uma string como argumento. Como aceito uma string de uma mensagem do Discord (embora se você pudesse dizer como fazer booleanos e inteiros, isso seria útil) como um argumento? Eu tentei meu melhor Duck-fu nele, sem sucesso.
Importações
os
discord
json
requests
python-dotenv
pymediawiki
Código de exemplo
#Existing bot
@bot.command()
async def combinestring(ctx):
#argument should be called arg
#process string
(Não me importo de adicionar mais, se necessário.)
Respostas
1 ŁukaszKwieciński Dec 17 2020 at 16:28
São literalmente as primeiras coisas que aparecem ao ler a introdução aos comandos, aqui está o link
Também aqui está um exemplo
@bot.command()
async def foo(ctx, arg):
await ctx.send(arg)
# To invoke
# !foo hello
# >>> hello
JoaquimEsteves Dec 17 2020 at 15:41
Você já olhou para outras questões sobre como receber mensagens do bot discord?
- https://stackoverflow.com/a/61851683/6595024
- https://stackoverflow.com/a/49127887/6595024
editar: Resposta atualizada dada atualização à pergunta
iamthetrueyes Dec 20 2020 at 17:49
É muito simples, se você quiser considerar um argumento sem espaços,
@bot.command()
async def combinestring(ctx, arg: str):
#your code
Se você quiser pegar um argumento com espaços,
@bot.command()
async def combinestring(ctx, *, arg):
#your code
Feito.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?