본문 바로가기
공부/파이썬 Python

광클하는 로봇 만들기 (파이썬 매크로, pynut mouse keyboard)

by 혼밥맨 2022. 4. 22.
반응형

광클하는 로봇 만들기 (파이썬 pynut mouse keyboard)

 

광클하는 로봇, 광타자하는 로봇, 반복 업무를 대신해주는 파이썬 로봇 만들기. 흔히 '매크로'라고 불리우는 로봇을 파이썬으로 간단히 제작할 수 있다. 원하는 마우스 키 설정, 반복주기, 키보드 키, 키보드 푸쉬 반복주기 등 다양한 설정이 가능하다.

 

라이브러리 설치

1
pip install pynut
cs

Pynut

Pynut 라이브러리를 사용하면 키보드 및 마우스와 같은 입력 장치를 제어하고 모니터링/청취할 수 있습니다. 마우스를 사용하면 Pynut을 실행하는 동안 마우스를 제어하고 모니터링할 수 있습니다. 키보드를 사용하여 키보드를 제어하고 모니터링할 수 있습니다.

https://pypi.org/project/pynput/

 

쿠키 광클 게임에 매크로 적용하기

https://orteil.dashnet.org/cookieclicker/

그냥 무식하게 쿠리를 광클하는 게임이다. 쿠키를 광클하면 아이템을 살 수 있는 온라인 전용 게임이다. 

매크로 적용 전 쿠키 광클 게임 시연

Importing Libraries

1
2
3
4
import time
import threading
from pynut.mouse import Controller, Button
from pynut.keyboard import Listener, KeyCode
cs

pynut.mouse와 pynut.keyboard를 import함으로써 가상의 마우스와 가상의 키보드를 사용할 수 있게 된다.

 

광클하는 메소드

1
2
3
4
5
6
def clicker():
    while True:
        if clicking:
            mouse.click(Button.left, 1)
        # toggle every 0.0001 second
        time.sleep(0.0001)
cs

 

클릭 변수 상태를 변경하는 토글 메소드

1
2
3
4
5
# toggling method
def toggle_event(key):
    if key == TOGGLE_KEY:
        global clicking
        clicking = not clicking
cs

 

 

쓰레드 변수 생성 및 런

1
2
3
4
5
6
# Creating a thread that targets the clicker method
click_thread = threading.Thread(target=clicker)
click_thread.start()
 
with Listener(on_press = toggle_event) as listener:
    listener.join()
cs

 

Full Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# importing libraries
import time
import threading
from pynut.mouse import Controller, Button
from pynut.keyboard import Listener, KeyCode
 
# Setting a toggle key
TOGGLE_KEY = KeyCode(char='t')
 
# Initiating clicking variable
clicking = False
 
# Creating a Controller object
mouse = Controller()
 
 
# clicking method
def clicker():
    while True:
        if clicking:
            mouse.click(Button.left, 1)
        # toggle every 0.0001 second
        time.sleep(0.0001)
 
 
# toggling method
def toggle_event(key):
    if key == TOGGLE_KEY:
        global clicking
        clicking = not clicking
    
# Creating a thread that targets the clicker method
click_thread = threading.Thread(target=clicker)
click_thread.start()
 
 
with Listener(on_press = toggle_event) as listener:
    listener.join()
cs

 

광클 로봇 적용 후 쿠키 게임 실행 결과

반응형

댓글