Je n'arrive pas à utiliser le @ dans python

Résolu/Fermé
MCD - 22 juin 2021 à 15:33
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 - 23 juin 2021 à 13:07
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

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
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
23 juin 2021 à 12:24
je n'avais pas suggéré cela pour éviter d'affecter le presse-papier.
la suggestion en #3 n'a pas fonctionné?
0
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
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471 > MCD
23 juin 2021 à 13:07
peux-tu alors marquer la discussion comme résolue?
0
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
22 juin 2021 à 15:42
bonjour,
qu'as-tu essayé?
0
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
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471 > MCD
22 juin 2021 à 16:11
peut-être ainsi:
pyautogui.keyDown('altright')
pyautogui.keyDown('q')
pyautogui.keyUp('altright')
pyautogui.keyUp('q')
0
MCD > yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024
22 juin 2021 à 16:15
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
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471 > MCD
22 juin 2021 à 16:16
c'est à utiliser à la place de
pyautogui.typewrite("@")
0
MCD > yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024
22 juin 2021 à 16:16
ç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
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
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
22 juin 2021 à 17:52
je propose d'abord que tu testes sans input(), afin de vérifier si ma suggestion fonctionne.
0
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
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
Modifié le 22 juin 2021 à 19:07
tu as donc testé ma suggestion en #3?
0
kibourou > yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024
22 juin 2021 à 20:13
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
je suis sur windows 10
0