Advertisement
Guest User

slack text as emoji

a guest
Feb 23rd, 2020
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. import re
  2. import time
  3.  
  4. from pynput.keyboard import Key, Controller
  5. import clipboard
  6. import requests
  7. import base64
  8. import notify2
  9.  
  10. token = ""
  11. workspaceName = "newentity"
  12. apiUrl = f"https://{workspaceName}-workspace.slack.com/api"
  13. smileBase64 = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TRZGKQyuIOGSoTh" \
  14. "ZFRRy1CkWoEGqFVh1MLv2CJg1Jiouj4Fpw8GOx6uDirKuDqyAIfoA4OTopukiJ/0sKLWI8OO7Hu3uPu3eAUC8zzeoYBzTdNlOJuJjJ" \
  15. "ropdrxDQjzDGEJKZZcxJUhK+4+seAb7exXiW/7k/R6+asxgQEIlnmWHaxBvE05u2wXmfOMKKskp8Tjxq0gWJH7muePzGueCywDMjZj" \
  16. "o1TxwhFgttrLQxK5oa8RRxVNV0yhcyHquctzhr5Spr3pO/MJTTV5a5TnMICSxiCRJEKKiihDJsxGjVSbGQov24j3/Q9UvkUshVAiPH" \
  17. "AirQILt+8D/43a2Vn5zwkkJxoPPFcT6Gga5doFFznO9jx2mcAMFn4Epv+St1YOaT9FpLix4BfdvAxXVLU/aAyx1g4MmQTdmVgjSFfB" \
  18. "54P6NvygLhW6BnzeutuY/TByBNXSVvgINDYKRA2es+7+5u7+3fM83+fgBmqHKidBk7uAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlz" \
  19. "AAAuIwAALiMBeKU/dgAAAAd0SU1FB+QCFRMwGI5MtHUAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAC0lEQV" \
  20. "QI12NgAAIAAAUAAeImBZsAAAAASUVORK5CYII= "
  21. sleepTime = 1
  22.  
  23.  
  24. class Slack:
  25. @staticmethod
  26. def addSmile(smileName):
  27. url = f"{apiUrl}/emoji.add"
  28. session = requests.session()
  29. data = {"mode": "data",
  30. "name": smileName,
  31. "token": token
  32. }
  33. files = {"image": base64.b64decode(smileBase64)}
  34. return session.request('post', url, data=data, headers={}, files=files).json()
  35.  
  36. @staticmethod
  37. def delSmile(smileName):
  38. url = f"{apiUrl}/emoji.remove"
  39. data = {"name": smileName,
  40. "token": token
  41. }
  42. return requests.post(url, data).json()
  43.  
  44. def press(key):
  45. keyboard.press(key)
  46. keyboard.release(key)
  47.  
  48.  
  49. def notify(title, body=""):
  50. n = notify2.Notification(title, body)
  51. n.set_timeout(10)
  52. n.show()
  53.  
  54. def check(str):
  55. match = re.search(r"[^a-z0-9_\-]", str)
  56. return match is None
  57.  
  58. if __name__ == '__main__':
  59. notify2.init("Slack text to emoji")
  60. notify("Ща все будет")
  61.  
  62. keyboard = Controller()
  63. previousClipText = clipboard.paste()
  64. textToSmile = ""
  65. with keyboard.pressed(Key.ctrl):
  66. press('a')
  67. press('c')
  68. press(Key.end)
  69. textToSmile = clipboard.paste()
  70. if check(textToSmile):
  71. if (len(textToSmile)>100):
  72. notify("Ваша ошибка", "Сообщение должно быть длинной <= 100")
  73. else:
  74. clipboard.copy(previousClipText)
  75. addSmileResponse = Slack.addSmile(textToSmile)
  76. print(addSmileResponse)
  77. if addSmileResponse['ok']:
  78. time.sleep(sleepTime)
  79. press('!')
  80. press(Key.backspace)
  81. time.sleep(sleepTime)
  82. press(Key.enter)
  83. delSmileResponse = Slack.delSmile(textToSmile)
  84. print(delSmileResponse)
  85. if delSmileResponse['ok']:
  86. notify("Все ок")
  87. else:
  88. notify("Кто то умер", delSmileResponse['error'])
  89. else:
  90. notify("Кто то умер", addSmileResponse['error'])
  91. else:
  92. notify("Ваша ошибка", "Сообщение должно быть [a-z0-9_\-]")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement