aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--SmallYTChannelBotSubmissions.py35
-rw-r--r--SmallYTChannelDatabase.dbbin4083712 -> 0 bytes
-rw-r--r--misc_classes.py12
4 files changed, 31 insertions, 17 deletions
diff --git a/.gitignore b/.gitignore
index 2a3b684..5bf8deb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,6 @@ graph.png
pid.txt
ch.py
chblacklist.txt
-smallYTLog.log
# Byte-compiled / optimized / DLL files
__pycache__/
diff --git a/SmallYTChannelBotSubmissions.py b/SmallYTChannelBotSubmissions.py
index c804b8a..3d2fd7d 100644
--- a/SmallYTChannelBotSubmissions.py
+++ b/SmallYTChannelBotSubmissions.py
@@ -1,4 +1,5 @@
from mpl_toolkits.axes_grid1 import host_subplot
+from misc_classes import SimpleLogger
import mpl_toolkits.axisartist as AA
from imgurpython import ImgurClient
import matplotlib.pyplot as plt
@@ -21,11 +22,17 @@ subreddit = reddit.subreddit("SmallYTChannel")
#subreddit = reddit.subreddit("jwnskanzkwktest")
db = Database()
+simplelogger = SimpleLogger()
def get_time():
#this is not the correct way to do this but I don't care
return str(datetime.datetime.now())[:-7]
+def display(message):
+ message = "%d\t[%s]\t%s" % (os.getpid(), get_time(), message)
+ print(message)
+ simplelogger.log(message)
+
def get_lambda_from_flair(s):
result = re.search("\[(.*)\]", s)
if result is not None and "λ" in result.group(1):
@@ -130,6 +137,7 @@ def _upload_image(path, date):
return "https://i.imgur.com/%s.png" % image["id"]
def every_day():
+ display("Updated statistics")
db.update_stats()
_update_tables(db.get_scores(), db.get_stats())
@@ -185,20 +193,18 @@ def main():
elif str(comment.author) in get_mods():
text = "The moderator /u/%s has given /u/%s 1λ. /u/%s now has %iλ." % (str(comment.author), parentauthour, parentauthour, db.get_lambda(parentauthour)[0] + 1)
db.give_lambda(parentauthour, submission.permalink)
- logging.info("[%s] %s" % (get_time(), text))
+ display(text)
elif op != str(submission.author):
text = "Only the OP can give λ."
elif db.user_given_lambda(parentauthour, str(submission.permalink)):
text = "You have already given /u/%s λ for this submission. Why not give λ to another user instead?" % parentauthour
else:
- print("[%s] '/u/%s' has given '/u/%s' lambda!" % (get_time(), op, parentauthour))
- logging.info("[%s] '/u/%s' has given '/u/%s' lambda!" % (get_time(), op, parentauthour))
+ display("'/u/%s' has given '/u/%s' lambda!" % (op, parentauthour))
text = "You have given /u/%s 1λ. /u/%s now has %iλ" % (parentauthour, parentauthour, db.get_lambda(parentauthour)[0] + 1)
if not db.link_in_db(submission.permalink) or not db.link_in_db(submission.permalink.replace("https://www.reddit.com", "")):
db.give_lambda(parentauthour, submission.permalink, op)
- print("The OP has received lambda too!")
- logging.info("The OP has received lambda too!")
+ display("The OP received lambda too!")
else:
db.give_lambda(parentauthour, submission.permalink)
@@ -216,11 +222,9 @@ def main():
text = "/u/%s has had %iλ taken away from them for the reason '%s'. /u/%s now has %iλ" % (user, toremove, reason, user, db.get_lambda(user)[0] - toremove)
db.change_lambda(user, -toremove)
- print("[%s] A moderator removed %i lambda from /u/%s for the reason '%s'" % (get_time(), toremove, user, reason))
- logging.info("[%s] A moderator removed %i lambda from /u/%s for the reason '%s'" % (get_time(), toremove, user, reason))
+ dispay("A moderator removed %i lambda from /u/%s for the reason '%s'" % (toremove, user, reason))
except Exception as e:
- print("[ERROR while removing λ] %s" % e)
- logging.error("[ERROR while removing λ] %s" % e)
+ display("{ERROR while removing λ} %s" % e)
text = r"An error was encountered. Please use the syntax `!takelambda [user] [how much to remove {integer}] [reason]`"
reply = comment.reply(text + tail)
reply.mod.distinguish()
@@ -236,8 +240,7 @@ def main():
break
if not db.id_in_blacklist(submission.id):
db.add_to_blacklist(submission.id)
- print("[%s] There has been a new submission: '%s', with flair '%s'" % (get_time(), submission.title, submission.link_flair_text))
- logging.info("[%s] There has been a new submission: '%s', with flair '%s'" % (get_time(), submission.title, submission.link_flair_text))
+ display("There has been a new submission: '%s', with flair '%s'" % (submission.title, submission.link_flair_text))
if str(submission.author) not in get_mods():
score = db.get_lambda(str(submission.author))[0]
@@ -245,6 +248,7 @@ def main():
if "youtube.com" in str(submission.url) or "youtu.be" in str(submission.url):
text = "Your post has been removed because it has the wrong flair. [Discussion], [Meta] and [Collab] flairs are only for text submissions."
submission.mod.remove()
+ display("/u/%s had their submission removed for using the wrong flair." % submission.author)
else:
text = "Your post is a discussion, meta or collab post so it costs 0λ."
else:
@@ -252,6 +256,7 @@ def main():
text = """Thank you for submitting to /r/SmallYTChannel. Unfortunally, you submission has been removed since you do not have enough λ. You need
3λ to post. You currently have %iλ. For more information, read the [FAQ.](https://www.reddit.com/user/SmallYTChannelBot/comments/a4u7qj/smallytchannelbot_faq/)""" % score
submission.mod.remove()
+ display("/u/%s had their submission removed for insufficient lambda." % submission.author)
else:
text = """Thank you for submitting to /r/SmallYTChannel. You have spent 3λ to submit here, making your current balance %iλ.
/u/%s, please comment `!givelambda` to the most helpful advice you are given. You
@@ -315,8 +320,7 @@ Views|%s
reply.mod.approve()
except Exception as e:
- print("[ERROR]\t%s" % e)
- logging.error("[%s] %s" % (get_time(), e))
+ display("{ERROR} %s" % e)
continue
if __name__ == "__main__":
@@ -324,9 +328,8 @@ if __name__ == "__main__":
file.write(str(os.getpid()))
file.close()
- logging.basicConfig(filename = "smallYTLog.log", format = "%(process)d\t%(message)s", level = logging.DEBUG)
+ logging.basicConfig(filename = "api.log", format = "%(process)d\t%(message)s", level = logging.DEBUG)
- print("\n####################\n[%s] RESTARTED\n####################\n" % get_time())
- logging.info("\n####################\n[%s] RESTARTED\n####################\n" % get_time())
+ display("\n####################\n[%s] RESTARTED\n####################\n" % get_time())
main()
diff --git a/SmallYTChannelDatabase.db b/SmallYTChannelDatabase.db
deleted file mode 100644
index e69888a..0000000
--- a/SmallYTChannelDatabase.db
+++ /dev/null
Binary files differ
diff --git a/misc_classes.py b/misc_classes.py
new file mode 100644
index 0000000..6d310b3
--- /dev/null
+++ b/misc_classes.py
@@ -0,0 +1,12 @@
+import os
+
+class SimpleLogger:
+ def __init__(self):
+ if not os.path.exists("actions.log"):
+ file = open("actions.log", "w")
+ file.close()
+
+ def log(self, message):
+ file = open("actions.log", "a")
+ file.write("%s\n" % message)
+ file.close() \ No newline at end of file