API 없이 Discord 자동화

여러분, 안녕하세요! 오랜만에 마지막 글을 써서 새로운 글을 올립니다!!

저는 Pywhatkit에 깊은 인상을 받았고 WhatsApp에서 메시지 전송을 자동화하는 기능이 있습니다. 저는 Discord용으로 유사한 도구를 구축하려고 생각했고 여기까지 왔습니다!

소스는 2개의 기능이 있는 약 70줄입니다.

이제 어떻게 만들었는지 자세히 설명하겠습니다!!

기능



send_dm



이 기능은 이름에서 알 수 있듯이 Discord의 사용자에게 DM을 보내는 데 도움이 됩니다. 메시지 전송을 자동화하기 위해 Pyautogui을 사용합니다. 메시지를 보낼 텍스트 상자를 찾는 데 도움이 되는 다른 기능과 웹을 여는 다른 기능을 선언했습니다 브라우저.

함수는 대략 이렇게 생겼습니다.

def send_dm(message: str, channelid:str,timesec:int) -> None:
    """Parses and Sends the Message"""
    try:
        _websingle(receiver=channelid, message=message)
        time.sleep(timesec)
        click(WIDTH / 2, HEIGHT / 2)   
        for char in message:
            if char == "\n":
                hotkey("shift", "enter")
            else:
                typewrite(char)
        findtextboxdc()
        press("enter")
        print("Message successfully delivered")
    except Exception as e:
        return e


변수와 함수 이름은 꽤 자명해야 합니다.

정의된 _websingle 함수는 사용자 및 메시지와 공유하는 DM 채널의 channel ID 인수를 취한 다음 실제로 메시지를 입력하는 다른 함수send_dm 내에서 호출됩니다.
findtextboxdc 함수는 다음과 같습니다.

def findtextboxdc() -> None:
    """click on text box"""
    dir_path = os.path.dirname(os.path.realpath(__file__))
    location = locateOnScreen(f"{dir_path}\\data\\attachmentdark.png")
    try:
        moveTo(location[0] + 150, location[1] + 5)
    except Exception:
        location = locateOnScreen(f"{dir_path}\\data\\attachmentlight.png")
        moveTo(location[0] + 200, location[1] + 5)
    click()


이 함수는 pyautogui를 사용합니다.

다른 기능은 서버에 메시지를 보내는 msg_server 기능입니다.

테스트할 수 있는 GitHub repoPyPi 링크가 있습니다. 어떻게 진행되는지 알 수 있습니다!
내가 하고 있는 일을 더 원하십니까? 내 가입 Discord Server

좋은 웹페이지 즐겨찾기