Casa > C > Como Armazenar A Entrada Do Usuário Usando Meu Discord.py Bot

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,

  1. 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

  1. @commands.command(pass_context=True) 
  2. 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

  1. 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.

  1. 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,

  1. @commands.command(pass_content=True) 
  2. async def yesorno(ctx): 
  3. await client.say('Discord, yes or no?') 
  4. response = client.wait_for_message(author=ctx.message.author, timeout=30) 
  5. if response.clean_content.lower() == 'yes': 
  6. await client.say('You said yes.') 
  7. elif response.clean_content.lower() == 'no': 
  8. await client.say('You said no.') 
  9. else: 
  10. 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 :(

De Gian Corkern

Quando será lançado o LG G8 ThinQ na Índia? :: Quais são as melhores canções em inglês?