Je fais un bot de discorde à l'aide de Python,
Je veux que le bot réagisse avec un message aléatoire, qui fonctionne bien en utilisant Cependant, cela donne à cette sortie dans la discussion: J'ai essayé:
et
et
et
mais rien ne fonctionne. P> Donc, ma question est la suivante: comment puis-je convertir cela liste ici à une chaîne? p> p> aléatoire.choice code>
Cependant, je voulais ajouter quelque chose. J'ai trouvé que avec
aléatoire.choices code> (docs Voici )
Vous pouvez ajouter des poids à votre liste, de sorte que certains sont choisis plus fréquemment, puis d'autres.
À l'heure actuelle, j'ai:
['TestMessagecommon1] [' TestMessagerare1 '] code>. etc p>
réponse = str (aléatoires.choices (brankos_gretites, poids, k = 1)) code> p>
attendre canal.send (STR (réponse)) code> p>
réponse = aléatoire.choiices (brankos_greetings, poids, k = 1) .strip ('[]') code> p>
wait canal.send (réponse.strip (["[''])) code> p>
3 Réponses :
Je pense que cela pourrait fonctionner
réponse = "" .Join (réponse) code> p>
Vous pouvez utiliser la méthode Join () pour rejoindre le tableau des chaînes ensemble.
response = ' '.join(random.choices(brankos_greetings, weights, k = 1))
aléatoire.choices () code> renvoie un résultat en tant que liste. Depuis que vous avez
k = 1 code>, cela signifie que le résultat renvoyé sera une liste avec un élément. Pour envoyer cet élément sous forme de message, vous devez indexer et accéder à cet élément. En d'autres termes,
response = random.choices(brankos_greetings, weights, k = 1)
await channel.send(response[0]) # index the first (zeroth) element
Merci beaucoup, cela le corrigé!
Heureux ça aidé!
J'ai oublié d'ajouter ça
J'ai essayé ça aussi
Une question rapide: où sont les
['qui dis'] code> et
['hi'] code> venant de? S'agit-il de ce que vous avez dans
brankos_greetips code>?
Désolé, c'est ce que dit le bot, mais je l'ai changé à quelque chose de mieux à comprendre dans la liste actuelle.
C'est à propos de [] et '' autour des mots
Merci pour la clarification. Ma réponse est affichée ci-dessous.