Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- import time
- from pynput.keyboard import Key, Controller
- import clipboard
- import requests
- import base64
- import notify2
- token = ""
- workspaceName = "newentity"
- apiUrl = f"https://{workspaceName}-workspace.slack.com/api"
- smileBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TRZGKQyuIOGSoTh" \
- "ZFRRy1CkWoEGqFVh1MLv2CJg1Jiouj4Fpw8GOx6uDirKuDqyAIfoA4OTopukiJ/0sKLWI8OO7Hu3uPu3eAUC8zzeoYBzTdNlOJuJjJ" \
- "ropdrxDQjzDGEJKZZcxJUhK+4+seAb7exXiW/7k/R6+asxgQEIlnmWHaxBvE05u2wXmfOMKKskp8Tjxq0gWJH7muePzGueCywDMjZj" \
- "o1TxwhFgttrLQxK5oa8RRxVNV0yhcyHquctzhr5Spr3pO/MJTTV5a5TnMICSxiCRJEKKiihDJsxGjVSbGQov24j3/Q9UvkUshVAiPH" \
- "AirQILt+8D/43a2Vn5zwkkJxoPPFcT6Gga5doFFznO9jx2mcAMFn4Epv+St1YOaT9FpLix4BfdvAxXVLU/aAyx1g4MmQTdmVgjSFfB" \
- "54P6NvygLhW6BnzeutuY/TByBNXSVvgINDYKRA2es+7+5u7+3fM83+fgBmqHKidBk7uAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlz" \
- "AAAuIwAALiMBeKU/dgAAAAd0SU1FB+QCFRMwGI5MtHUAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAC0lEQV" \
- "QI12NgAAIAAAUAAeImBZsAAAAASUVORK5CYII= "
- sleepTime = 1
- class Slack:
- @staticmethod
- def addSmile(smileName):
- url = f"{apiUrl}/emoji.add"
- session = requests.session()
- data = {"mode": "data",
- "name": smileName,
- "token": token
- }
- files = {"image": base64.b64decode(smileBase64)}
- return session.request('post', url, data=data, headers={}, files=files).json()
- @staticmethod
- def delSmile(smileName):
- url = f"{apiUrl}/emoji.remove"
- data = {"name": smileName,
- "token": token
- }
- return requests.post(url, data).json()
- def press(key):
- keyboard.press(key)
- keyboard.release(key)
- def notify(title, body=""):
- n = notify2.Notification(title, body)
- n.set_timeout(10)
- n.show()
- def check(str):
- match = re.search(r"[^a-z0-9_\-]", str)
- return match is None
- if __name__ == '__main__':
- notify2.init("Slack text to emoji")
- notify("Ща все будет")
- keyboard = Controller()
- previousClipText = clipboard.paste()
- textToSmile = ""
- with keyboard.pressed(Key.ctrl):
- press('a')
- press('c')
- press(Key.end)
- textToSmile = clipboard.paste()
- if check(textToSmile):
- if (len(textToSmile)>100):
- notify("Ваша ошибка", "Сообщение должно быть длинной <= 100")
- else:
- clipboard.copy(previousClipText)
- addSmileResponse = Slack.addSmile(textToSmile)
- print(addSmileResponse)
- if addSmileResponse['ok']:
- time.sleep(sleepTime)
- press('!')
- press(Key.backspace)
- time.sleep(sleepTime)
- press(Key.enter)
- delSmileResponse = Slack.delSmile(textToSmile)
- print(delSmileResponse)
- if delSmileResponse['ok']:
- notify("Все ок")
- else:
- notify("Кто то умер", delSmileResponse['error'])
- else:
- notify("Кто то умер", addSmileResponse['error'])
- else:
- notify("Ваша ошибка", "Сообщение должно быть [a-z0-9_\-]")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement