Je n'arrive pas à utiliser le @ dans python

Résolu
Bonjour,
je cherche actuellement pour un programme à envoyer un message discord en utilisant la mention qui correspond au @ or celui-ci à un rôle particulier dans python ce qui fait qu'il n'apparait pas dans le message donc la personne n'est pas mentionnée. Y a-t-il un moyen de contourner ce problème ?

(si vous ne l'avez pas remarqué, je suis débutant en python donc soyez compréhensif. Bonne journée)

Configuration: Windows / Chrome 91.0.4472.114

4 réponses

  1. Bonjour avec cette modification, c'est désormais fonctionnel

    import pyautogui
    import time
    import pyperclip
    
    content = '@'
    pyperclip.copy(content)
    time.sleep(0.5)
    pyautogui.hotkey('ctrl', 'v')
    
    time.sleep(3)
    f = input("à spammer : ")
    t = int(input("combien de fois ? "))
    i = 0
    while t > i:
        content = '@'
        pyperclip.copy(content)
        time.sleep(0.5)
        pyautogui.hotkey('ctrl', 'v')
        #@pyautogui.typewrite('@', interval=0.1, language=auto_detected)
        pyautogui.typewrite(f)
        pyautogui.press("enter")
        i = i + 1
    1. Contributeur
      je n'avais pas suggéré cela pour éviter d'affecter le presse-papier.
      la suggestion en #3 n'a pas fonctionné?
    2. import pyautogui
      import time
      import pyperclip
      
      f = input("à spammer : ")
      t = int(input("combien de fois ? "))
      i = 0
      while t > i:
          content = f
          pyperclip.copy(content)
          #time.sleep(0.2)
          pyautogui.hotkey('ctrl', 'v')
          pyautogui.press("enter")
          pyautogui.press("enter")
          i = i + 1

      fonctionne à la perfection pour les accents aussi
    3. Contributeur
      @MCDpeux-tu alors marquer la discussion comme résolue?
  2. Contributeur
    bonjour,
    qu'as-tu essayé?
    1. en fait visiblement en faisant un print ça fonctionne. Mais dans le programme j'utilise la bibliothèque pyautogui et la fonction qui envoie le message est pyautogui.typewrite celle ci ne prend visiblement pas en compte le arobase
    2. Contributeur
      @MCDpeut-être ainsi:
      pyautogui.keyDown('altright')
      pyautogui.keyDown('q')
      pyautogui.keyUp('altright')
      pyautogui.keyUp('q')
    3. @yg_beje ne vois pas en quoi cela va régler mon problème de base qui est que le @ n'a pas l'air d'être reconnu
    4. Contributeur
      @MCDc'est à utiliser à la place de
      pyautogui.typewrite("@")
    5. @yg_beça c'est mon programme :

      import pyautogui
      import time
      time.sleep(3)
      f = input("à spammer : ")
      t = int(input("combien de fois ? "))
      i = 0
      print(f)
      while t > i:
      pyautogui.typewrite(f)
      pyautogui.press("enter")
      i = i+1

      et du coup dans dans le input je met @here puis 1 ça me revoit here et pas @here
  3. import pyautogui
    import time
    time.sleep(3)
    f = input("à spammer : ")
    t = int(input("combien de fois ? "))
    i = 0
    print(f)
    while t > i:
        pyautogui.typewrite(f)
        pyautogui.press("enter")
        i = i+1
    1. Contributeur
      je propose d'abord que tu testes sans input(), afin de vérifier si ma suggestion fonctionne.
  4. Bonjour,

    Testé, et même comportement chez moi @ affiche 0, a priori un bug du module puisque déjà signalé dans le github, pas mal de problèmes avec les caractères spéciaux ce module.
    https://github.com/asweigart/pyautogui/issues
    Sur quel système es-tu ?

    Maintenant pour spammer une console, pas besoin de ce module en fait.
    1. Contributeur
      tu as donc testé ma suggestion en #3?
    2. @yg_beNon, je n'avais pas vu qu'il y avait d'autres messages regroupés et repliés...

      Ton code me fait un beau q (désolé, je n'ai pu résister ^^)

      Mais c'est souvent un problème avec linux la gestion des claviers, j'ai même testé tout.

      for c in ('0123456789abcdefghijklmnopqrstuvwxyz'):
          try:
              pyautogui.hotkey('altright', c)
          except Exception as e:
              pass


      Qui donne :

      à&é"'(-è_çabcdefghijklmnopqrstuvwxyz

      Donc mal pris en charge, et pratiquement une erreur chaque fois.
    3. je suis sur windows 10