Skip to content

Instantly share code, notes, and snippets.

@Shugabuga
Created November 16, 2016 00:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Shugabuga/363e71503a9784089ba24ff8783aa9b9 to your computer and use it in GitHub Desktop.
Save Shugabuga/363e71503a9784089ba24ff8783aa9b9 to your computer and use it in GitHub Desktop.
Reddit Notifications 2.0 with Modmail Support!
#!/Library/Frameworks/Python.framework/Versions/2.7/bin/python2
# -*- coding: utf-8 -*-
# <bitbar.title>Reddit Notifications</bitbar.title>
# <bitbar.version>v2.0.0</bitbar.version>
# <bitbar.author>HeyItsShuga</bitbar.author>
# <bitbar.author.github>Shugabuga</bitbar.author.github>
# <bitbar.desc>Check your Reddit messages in your status bar!</bitbar.desc>
# <bitbar.image>http://i.imgur.com/ohM8E6u.png</bitbar.image>
# <bitbar.dependencies>python,praw</bitbar.dependencies>
############################################################################
# Reddit Notifications for BitBar 2.0 #
# by /u/HeyItsShuga #
# #
# Configuration #
# Tip: Make sure that the quotes stay as real quotes (if using TextEdit). #
############################################################################
USERNAME = "Username" # Please put your username inside of the quotes.
PASSWORD = "Password" # Please put your password inside of the quotes.
############################################################################
# End Configuration. Enjoy! #
############################################################################
import os
import re
import praw
import subprocess
if USERNAME == '':
print "Not Configured! | color=#e51b1b"
print "---"
print "Click here to open the config in nano. | color=#e51b1b bash=' nano", __file__, '"'
os.system("open " + __file__)
message_noteInt = "No Messages!"
messageCount = 0
modmailCount = 0
mOnlyCount = 0
r = praw.Reddit(user_agent="Reddit Notifications for BitBar",disable_update_check=True)
r.login(USERNAME, PASSWORD, disable_warning=True)
unreadInt = r.get_unread()
unread = r.get_unread()
modmailInt = r.get_content('https://api.reddit.com/message/moderator/unread')
modmail = r.get_content('https://api.reddit.com/message/moderator/unread')
for messages in unreadInt:
message_noteInt = str(messages)
messageCount = messageCount + 1
mOnlyCount = mOnlyCount + 1
for messages in modmailInt:
messageCount = messageCount + 1
modmailCount = modmailCount + 1
if modmailCount > 0:
if mOnlyCount > 0:
print "| image=iVBORw0KGgoAAAANSUhEUgAAABkAAAAQCAYAAADj5tSrAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAN1wAADdcBQiibeAAAActpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+d3d3Lmlua3NjYXBlLm9yZzwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KGMtVWAAAAdhJREFUOBG1lDtLA0EUhWc2+KxUBGVngwraKhYKklIlPgqt7EXw8S9sbBVbS7GxtIwgFv4HLVKEZLMmASGNqKBk/K4aibsxrqADZ+/M3HPvmb3z0L7nLTnWHimlDIjV3KAYiwdJiFsqMKZ4a8w+Nl80ZiJudCueVXYC5MEB8EXESkDguiv0Kwgtt0rwk4+kc6AC1oSLtZ8iMlFKJqcQChDakfFvGwnXQQmk6rEREXGUBwZGELrmzw75RadObmVJpMEuyIKxRi5jG0kyWKnkXhKJlNZ6vGTMaW54uLMxKNwnSTtzx2AezGils2FOREQIQ4VCtdrTk64p9dT+/Hxx67r94UAZI9CLyQBZyCwCd9hoq2981CNJlA48bxdOlqMeLsMIIteAskYrUs+H73vnJ8naNvpt3KVLhKZlnkCxV6Ab3L9N8fmuNS2XkLOjox2U6YRuij2a1I6z4dRqZ5y8PebOwAaYFD84QbgD27Q1FWHFfd0PD+cS8djVlZY9cn0/Y7VeIGCW6QXqnwFV+mnh0c4R6nvvhr7hPfk4wjd/eYS/XEapOaJyGbdDa4k15E9aX0bqv4rAXz0rZQS/PCs+Kz9A4L8eyIIued5i7f2p92LVBNIvnnof+uYrtsL40IfJCkkAAAAASUVORK5CYII="
else:
print "| image=iVBORw0KGgoAAAANSUhEUgAAABkAAAAQCAYAAADj5tSrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEySURBVDiNtZSxLgRRFIa/kbAbnY0XUKi3so2SZFkFlV7HW2i0xDOIyhMoZHcjEk9AobJLkEg0Ct2nOWTMzqwJOze5mdzzzzn/Oefe8yN2xAfRCvZQ7BAEh+K92GQCS2xGvCNxiGgAm+KLuPFPgtWIsx1nv0nCsCQ+int/JNgRn8TllO0nSRgXxBvxWJwqGTwR98U7cTGDjZIEMCd2xTOx/gvBjHgiXonzOXh+pgnJG9AGPoCLPOevZIBzoA6sJCSvRZmMVJLCxrWhVFsLK8ms6dhdsRWOLeASmAXegcJEx1Yi1sRTsRd31I6XcxDfdth78V+tMH7BxTfEftY5huw6PbSpZPpioxRJ9Pq2sicstmIYd8sEzyEbP4zi1gRl5TkrK8MQsqoEcoC4HkRVSP1AXPsEbyDKcWdBxxQAAAAASUVORK5CYII="
elif message_noteInt == "No Messages!":
print "| image=iVBORw0KGgoAAAANSUhEUgAAABkAAAAQCAMAAADUOCSZAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAJ9QTFRFAAAAAAAAgICAgICAbW1tgICAeHh4gICAgICAfHx8fHx8fX19fX19e3t7fX19fHx8fn5+fHx8fn5+fHx8fn5+fn5+fHx8fX19fn5+fX19fHx8fn5+fX19fn5+fX19fX19fX19fX19fX19fX19fX19fn5+fn5+fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19ui5QtQAAADR0Uk5TAAECBgcIERIUISUvNTY7REdISUpLT1BWYWhpgIWOj5Gjpau/wMHFyNbX2+Dh4uPk5efo6c9RgL0AAACeSURBVBjTddHZEoIwDAXQiyKItYribkVRcANaEP7/25TRUsGat+RkMk0KT5S64B7ELiFoB0l8jhLzYtaCcbF81UtgmG0asMpHeAuc675T143tfQApsE7H3ge6h3MfSupc9UiRM9RcJSwWFFTEzGiKGYSWm7PctcLA/BY7qnJyIVVPZCtxbn9eTbO1ftPF73Ue1XW4r79oiinX/kI6eQKV6hmFxUk2wQAAAABJRU5ErkJggg=="
else:
print "| image=iVBORw0KGgoAAAANSUhEUgAAABkAAAAQCAMAAADUOCSZAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAJ9QTFRFAAAA/wAA/wAA1Ssr2yQk3yAg4R4e4xwc5hoa6BcX4xwc5Bsb5x0d4xwc5Roa5Roa5h0d5hwc5xwc4xwc5Bsb5Roa5hoa5Bsb5Roa5Bsb5Bsb5Rwc5Bsb5hsb5Bsb5Roa5Bsb5Roa5hsb5hsb5Bsb5Roa5Rsb5hsb5Rsb5Rsb5Rsb5Rsb5Rsb5Rsb5Rsb5Rsb5Rsb5Roa5Rsb5Rsb5RsbcU/E7wAAADR0Uk5TAAECBgcIERIUISUvNTY7REdISUpLT1BWYWhpgIWOj5Gjpau/wMHFyNbX2+Dh4uPk5efo6c9RgL0AAACeSURBVBjTddHZEoIwDAXQiyKItYribkVRcANaEP7/25TRUsGat+RkMk0KT5S64B7ELiFoB0l8jhLzYtaCcbF81UtgmG0asMpHeAuc675T143tfQApsE7H3ge6h3MfSupc9UiRM9RcJSwWFFTEzGiKGYSWm7PctcLA/BY7qnJyIVVPZCtxbn9eTbO1ftPF73Ue1XW4r79oiinX/kI6eQKV6hmFxUk2wQAAAABJRU5ErkJggg=="
print "---"
print "Messages: ", messageCount, "| font=HelveticaNeue-Bold href=https://www.reddit.com/message/unread/"
print "---"
if message_noteInt == "No Messages!":
if modmailCount < 1:
print "No Unread Messages! | color=teal"
else:
print ""
for messages in unread:
print str(messages), " | color=teal"
print "---"
for messages in modmail:
print str(messages), " | color=purple"
print "---"
#r.get_content(https://api.reddit.com/message/moderator)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment