떠든다.잡설./오토핫키

오토핫키로 트위치 이모티콘 채팅 매크로 만들기

몽브르 2021. 8. 9.

트위치 방송을 보다보면 여러 이모티콘을 활용하게 되는데 이걸 매번 찾아서 쓰는게 생각보다 번거롭기에 단축키로 특정 이모티콘을 저장해서 쓸수있는 매크로를 만들어볼까 합니다.

 

필요사항

Need 1. 단축키 하나로 채팅창에 입력되어야함

Need 2. 이모티콘의 변경이 가능해야함

Need 3. 세팅값이 저장가능해야함

Need 4. GUI로 화면을 쉽게 구성해야함

Need 5. 최대한 사용이 간단해야함(복잡한기능X)

 

테스트

그래서 일단 만든게 요놈입니다. 실행파일과 설정을 저장하기위한 txt 파일로 구성되어있습니다.

 

단축키를 입력했을때 해당 이모티콘이 이상없이 잘 입력됩니다. 매크로 자체가 입력된 텍스트값을 채팅창에 넣어주는 단순한 구조기때문에 당연히 사용가능한 구독티콘도 입력됩니다. 이모티콘 말고 채팅도 가능합니다.

 

저장버튼을 누르면 현재상태의 텍스트들이 그대로 txt파일에 저장되게 되어있습니다. 프로그램을 실행하면 자동으로 txt파일을 불러와서 값을 채우기 때문에 별도로 불러오기는 만들지 않았습니다.

 

소스코드

FileReadLine, et1, emote.txt, 1
FileReadLine, et2, emote.txt, 2
FileReadLine, et3, emote.txt, 3
FileReadLine, et4, emote.txt, 4
FileReadLine, et5, emote.txt, 5

Gui, Add, Edit, x40 y10 w600 h40 vEmote1, %et1%
Gui, Add, Text, x10 y10 w30 h20, F7

Gui, Add, Edit, x40 y60 w600 h40 vEmote2, %et2%
Gui, Add, Text, x10 y60 w30 h20, F8

Gui, Add, Edit, x40 y110 w600 h40 vEmote3, %et3%
Gui, Add, Text, x10 y110 w30 h20, F9

Gui, Add, Edit, x40 y160 w600 h40 vEmote4, %et4%
Gui, Add, Text, x10 y160 w30 h20, F10

Gui, Add, Edit, x40 y210 w600 h40 vEmote5, %et5%
Gui, Add, Text, x10 y210 w30 h20, F11

Gui, Add, Button, x300 y260 w100 h40 , 저장

Gui, Show, h400 w700, 이모티콘 매크로
Return

Button저장:

FileDelete, emote.txt
Gui, Submit, Nohide
FileAppend, %Emote1%`n%Emote2%`n%Emote3%`n%Emote4%`n%Emote5%`n, emote.txt

Return

F7::
Gui, Submit, Nohide
Clipboard = %Emote1%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return

F8::
Gui, Submit, Nohide
Clipboard = %Emote2%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return


F9::
Gui, Submit, Nohide
Clipboard = %Emote3%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return


F10::
Gui, Submit, Nohide
Clipboard = %Emote4%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return


F11::
Gui, Submit, Nohide
Clipboard = %Emote5%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return

소스코드 이해 편의성을 위해서 loop, if문등을 최대한 빼버렸습니다. 애초에 명령문구가 짧기 때문에 스로틀링 걱정안하고 만들었습니다.

 

소스코드 주석
FileReadLine, et1, emote.txt, 1
FileReadLine, et2, emote.txt, 2
FileReadLine, et3, emote.txt, 3
FileReadLine, et4, emote.txt, 4
FileReadLine, et5, emote.txt, 5

Gui, Add, Edit, x40 y10 w600 h40 vEmote1, %et1%
Gui, Add, Text, x10 y10 w30 h20, F7

Gui, Add, Edit, x40 y60 w600 h40 vEmote2, %et2%
Gui, Add, Text, x10 y60 w30 h20, F8

Gui, Add, Edit, x40 y110 w600 h40 vEmote3, %et3%
Gui, Add, Text, x10 y110 w30 h20, F9

Gui, Add, Edit, x40 y160 w600 h40 vEmote4, %et4%
Gui, Add, Text, x10 y160 w30 h20, F10

Gui, Add, Edit, x40 y210 w600 h40 vEmote5, %et5%
Gui, Add, Text, x10 y210 w30 h20, F11

Gui, Add, Button, x300 y260 w100 h40 , 저장

Gui, Show, h400 w700, 이모티콘 매크로
Return

Button저장:

FileDelete, emote.txt
Gui, Submit, Nohide
FileAppend, %Emote1%`n%Emote2%`n%Emote3%`n%Emote4%`n%Emote5%`n, emote.txt

Return

F7::
Gui, Submit, Nohide
Clipboard = %Emote1%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return

F8::
Gui, Submit, Nohide
Clipboard = %Emote2%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return

F9::
Gui, Submit, Nohide
Clipboard = %Emote3%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return

F10::
Gui, Submit, Nohide
Clipboard = %Emote4%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return

F11::
Gui, Submit, Nohide
Clipboard = %Emote5%
Clipwait
Send, ^v
Send, {enter}
Sleep, 1000
Return
emote.txt파일 첫번째 줄을 et1에 저장합니다
emote.txt파일 두번째 줄을 et2에 저장합니다
emote.txt파일 세번째 줄을 et3에 저장합니다
emote.txt파일 네번째 줄을 et4에 저장합니다
emote.txt파일 다섯번째 줄을 et5에 저장합니다

Emote1이라는 에디트박스를 그립니다. et1변수를 가집니다
F7 텍스트를 표기합니다

Emote2이라는 에디트박스를 그립니다. et2변수를 가집니다
F8 텍스트를 표기합니다

Emote3이라는 에디트박스를 그립니다. et3변수를 가집니다
F9 텍스트를 표기합니다

Emote4이라는 에디트박스를 그립니다. et4변수를 가집니다
F10 텍스트를 표기합니다

Emote5이라는 에디트박스를 그립니다. et5변수를 가집니다
F11 텍스트를 표기합니다

저장 버튼을 그립니다

가로700 높이 400의 [이모티콘 매크로] 윈도우입니다
리턴

저장 버튼을 눌렀을때

emote.txt 파일을 삭제합니다
Gui에 있는 값을 읽어옵니다
emote.txt 파일에 에디트박스의 내용을 한줄씩 내려 저장합니다

리턴

F7을 누를때
Gui에 있는 값을 읽어옵니다
클립보드에 Emote1을 저장합니다
클립보드에 내용을 읽을수 있게 기다립니다
컨트롤+v를 입력합니다
엔터를 입력합니다
1초 대기
리턴

F8을 누를때
Gui에 있는 값을 읽어옵니다
클립보드에 Emote2을 저장합니다
클립보드에 내용을 읽을수 있게 기다립니다
컨트롤+v를 입력합니다
엔터를 입력합니다
1초 대기
리턴

F9을 누를때
Gui에 있는 값을 읽어옵니다
클립보드에 Emote3을 저장합니다
클립보드에 내용을 읽을수 있게 기다립니다
컨트롤+v를 입력합니다
엔터를 입력합니다
1초 대기
리턴

F10을 누를때
Gui에 있는 값을 읽어옵니다
클립보드에 Emote4을 저장합니다
클립보드에 내용을 읽을수 있게 기다립니다
컨트롤+v를 입력합니다
엔터를 입력합니다
1초 대기
리턴

F11을 누를때
Gui에 있는 값을 읽어옵니다
클립보드에 Emote5을 저장합니다
클립보드에 내용을 읽을수 있게 기다립니다
컨트롤+v를 입력합니다
엔터를 입력합니다
1초 대기
리턴

뭐 어려운게 없기 때문에 대충 설명 읽어보시면 될듯합니다. 파일만 올려도 되지만 세세한 조정이 필요하실분이 있을것 같아서 그냥 소스를 올렸습니다. 혹시나 파일 필요하신분은 댓글달아주세요~

반응형

추천 글