Skip to content

Commit

Permalink
Add support for multiple subreddits, fix common package names
Browse files Browse the repository at this point in the history
  • Loading branch information
stekc committed May 20, 2024
1 parent 3b9e7d7 commit b12e474
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 16 deletions.
12 changes: 6 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
CLIENT_ID="abc123"
CLIENT_SECRET="abc123"
USER_AGENT="Canister Bot (by /u/abc123)"
USERNAME="abc123"
PASSWORD="abc123"
SUBREDDIT="jailbreak"
REDDIT_CLIENT_ID="abc123"
REDDIT_CLIENT_SECRET="abc123"
REDDIT_USER_AGENT="Canister Bot (by /u/abc123)"
REDDIT_USERNAME="abc123"
REDDIT_PASSWORD="abc123"
REDDIT_SUBREDDITS="jailbreak,legacyjailbreak"
40 changes: 30 additions & 10 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,22 @@ async def canister_fetch_repos():


@cached(ttl=86400)
async def get_packages_from_canister(query: str):
ignored_repos = ["zodttd", "modmyi"]
async def get_packages_from_canister(query: str, subreddit: str = None):
query = query.lower()

replacements = {"filza": "Filza File Manager"}

words = query.split()
for i, word in enumerate(words):
if word.lower() in replacements:
words[i] = replacements[word.lower()]

query = " ".join(words)

if subreddit.lower() == "jailbreak":
ignored_repos = ["zodttd", "modmyi"]
else:
ignored_repos = []
async with aiohttp.ClientSession() as client:
async with client.get(
f"https://api.canister.me/v2/jailbreak/package/search?q={urllib.parse.quote(query)}"
Expand Down Expand Up @@ -95,7 +109,9 @@ async def process_comment(comment):
f"Package from u/{comment.author.name} matched ({query})\nhttps://reddit.com{comment.permalink}\n"
)

if packages := await get_packages_from_canister(query):
if packages := await get_packages_from_canister(
query, comment.subreddit.display_name
):
response = "\n".join(
[await format_package_info(package) for package in packages]
)
Expand Down Expand Up @@ -197,16 +213,20 @@ async def process_comment(comment):

async def main():
reddit = asyncpraw.Reddit(
client_id=os.getenv("CLIENT_ID"),
client_secret=os.getenv("CLIENT_SECRET"),
user_agent=os.getenv("USER_AGENT"),
username=os.getenv("USERNAME"),
password=os.getenv("PASSWORD"),
client_id=os.getenv("REDDIT_CLIENT_ID"),
client_secret=os.getenv("REDDIT_CLIENT_SECRET"),
user_agent=os.getenv("REDDIT_USER_AGENT"),
username=os.getenv("REDDIT_USERNAME"),
password=os.getenv("REDDIT_PASSWORD"),
)

subreddit = await reddit.subreddit(os.getenv("SUBREDDIT"))
subreddit = await reddit.subreddit(
"+".join(os.getenv("REDDIT_SUBREDDITS").split(","))
)

print(f"Logged in as {await reddit.user.me()}\n")
print(
f"Logged in as {await reddit.user.me()}... Watching: {', '.join(os.getenv('REDDIT_SUBREDDITS').split(','))}\n"
)

async for comment in subreddit.stream.comments(skip_existing=True):
await process_comment(comment)
Expand Down

0 comments on commit b12e474

Please sign in to comment.