J'essaie de faire en sorte que chaque fois que le bot envoie une intégration, la couleur de celui-ci soit aléatoire. Voici mon code: colors = ['0xFFE4E1', '0x00FF7F', '0xD8BFD8', '0xDC143C', '0xFF4500', '0xDEB887', '0xADFF2F', ...

3
Carter Michaelis 24 janv. 2021 à 07:23

2 réponses

Meilleure réponse

Je suppose que ça doit être

colors = [0xFFE4E1, 0x00FF7F, 0xD8BFD8, 0xDC143C, 0xFF4500, 0xDEB887, 0xADFF2F, 0x800000, 0x4682B4, 0x006400, 0x808080, 0xA0522D, 0xF08080, 0xC71585, 0xFFB6C1, 0x00CED1]
3
Christoph Schreiber 24 janv. 2021 à 04:30

Comme votre message d'erreur le suggère, la classe discord.Embed n'accepte pas de chaîne comme entrée valide pour l'argument de mot clé color. Il doit à la place être une instance de la classe: discord.Color.

Il y a alors plusieurs façons d'accomplir votre tâche:

  • transmettre la couleur sous forme d'entier discord.Colour(value)
  • transmettez la couleur en tant que valeurs r, g, b séparées: discord.Colour.from_rgb(r, g, b)
  • hsv: discord.Colour.from_hsv(h, s, v)
  • ou utilisez la fonction de couleur aléatoire intégrée: discord.Colour.random()

Il est également acceptable de simplement passer l'entier directement à discord.Embed plutôt que de créer un objet discord.Color, mais les autres options ne seront alors pas disponibles.

Exemple:

em = discord.Embed(title = name, color = discord.Colour.random())

1
Aaron 24 janv. 2021 à 04:33
65867118