PySnooNotes
Python wrapper for the Snoonotes API
Supported Features:
- Fetch notes for a particular user
- Fetch Subreddit Notes - Caching implemented
- Add notes for a user
- Removing usernotes for a user
Depends On:
requests==2.23.0
Usage:
Imports
To use in your python project, use:
from pysnoonotes.core import SnooNotes
Sample Usage
Authenticate using a Reddit account that can add usernotes and a user_key for that account that can be generated from "https://snoonotes.com/#!/userkey". The generated key is sent via PM to your reddit account.
sn = SnooNotes("username", "user_key")
- Returns a dictionary with usernames and their associated usernotes:
notes_for_username = sn.get_notes_for_user("username")
notes_for_usernames12 = sn.get_notes_for_user(["username1", "username2"])
- Returns notes supported in that particular subreddit:
subreddit_notes = sn.get_notes_for_subreddit("subreddit")
NOTE: This function caches queries using a pickle file to ./caches
directory to prevent repeated API requests. By default it automatically updates caches once a day. However, using use_cache=False
, you can manually trigger a call that bypasses cache (this call will also update the cache)
- Add a new usernote for the user under a subreddit with a custom note and a link to the comment/post:
sn.add_note_for_user("username", "note_type_id", "subreddit", "Reason for note", "www.reddit.com/r/subreddit/123abc/.../123abc")
- Delete a usernote for a given username, given a note_id.
sn.delete_note_for_user("username","note_id")
The above is also summarized in the sample.py
script