Como armazenar a entrada do usuário usando meu discord.py bot
Este guia foi feito para usar o discord.py original, não a reescrita. Você não deveria estar usando a reescrita de qualquer forma, é estúpido. :)
Depende do que você quer dizer com o input do usuário.
Vamos assumir que você quer dizer que você quer pegar o que o usuário diz, como em um questionário ou algo assim.
Então vamos dizer que você vai primeiro fazer a pergunta,
- await client.say('Confirme que esta é a resposta que você quer usando `Y` ou `n`.
Agora vamos precisar de construir sobre isto para fazer esperar pela resposta. Make sure you pass the context through in the command, which is done with
- @commands.command(pass_context=True)
- async def [commandname](ctx, [any other args]):
P> Então agora que o nosso bot sabe tudo sobre o comando original, agora também podemos saber quem escreveu o comando. This helps, ass we’ll use
- response = await client.wait_for_message(author=ctx.message.author, timeout=60)
You can modify this command to be however you wish, but ctx.message.author tells the bot that you’re waiting for a message from the author (the person who wrote) of the message. Então digamos que o usuário responde, agora precisamos fazer com que ele pense sobre isto.
- if response.clean_content (resto do seu if statement):
O conteúdo_limpo permite que o parse como se fosse apenas um str.
se você quiser que não seja sensível a maiúsculas e minúsculas, você usaria o conteúdo.clean_content.lower() para que a mensagem seja convertida em minúsculas. (i.e., if user responds with cApItALs it will now be capitals).
This might be a little easier to see in a command, so,
- @commands.command(pass_content=True)
- async def yesorno(ctx):
- await client.say('Discord, yes or no?')
- response = client.wait_for_message(author=ctx.message.author, timeout=30)
- if response.clean_content.lower() == 'yes':
- await client.say('You said yes.')
- elif response.clean_content.lower() == 'no':
- await client.say('You said no.')
- else:
- await client.say("That isn't a valid response.")
Now storing them as things in a json would follow through live everything else that stores with json, with the thing that’s being stored being response.clean_content. I’m not too skilled in this so sorry :(
Artigos semelhantes
- Como vai a Caixa de Entrada do Google? A Caixa de Entrada e o Gmail estão a ficar fortes ou a Caixa de Entrada do Google está estagnada?
- Como ativar um bot rítmico no Discord
- Como armazenar/transferir dados do usuário (senha wifi) com segurança em dispositivos IoT
- Como trocar meu nome de usuário Instagram para minha segunda conta sem que outras pessoas recebam meus nomes de usuário