Je n'arrive pas à utiliser le @ dans python

Résolu
MCD -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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. MCD
     
    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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je n'avais pas suggéré cela pour éviter d'affecter le presse-papier.
      la suggestion en #3 n'a pas fonctionné?
      0
    2. MCD
       
      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
      1
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > MCD
         
        peux-tu alors marquer la discussion comme résolue?
        0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    qu'as-tu essayé?
    0
    1. MCD
       
      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
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > MCD
       
      peut-être ainsi:
      pyautogui.keyDown('altright')
      pyautogui.keyDown('q')
      pyautogui.keyUp('altright')
      pyautogui.keyUp('q')
      0
    3. MCD > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      je 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
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > MCD
       
      c'est à utiliser à la place de
      pyautogui.typewrite("@")
      0
    5. MCD > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      ç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
      0
  3. MCD
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je propose d'abord que tu testes sans input(), afin de vérifier si ma suggestion fonctionne.
      0
  4. kibourou
     
    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.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      tu as donc testé ma suggestion en #3?
      0
      1. kibourou > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Non, 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.
        0
    2. MCD
       
      je suis sur windows 10
      0