archy-bold / not-enough-musk-spambot

Bot to post replies in r/EnoughMuskSpam
5 stars 1 forks source link

Implement Database #1

Closed archy-bold closed 1 year ago

archy-bold commented 1 year ago

Use a sqlite database to track comments and submissions we've replied to

https://towardsdatascience.com/do-you-know-python-has-a-built-in-database-d553989c87bd

archy-bold commented 1 year ago

Here's a ChatGPT-generated boilerplate:

import praw
import sqlite3

# Connect to Reddit using PRAW
reddit = praw.Reddit(client_id='your_client_id',
                     client_secret='your_client_secret',
                     username='your_username',
                     password='your_password',
                     user_agent='your_user_agent')

# Connect to SQLite database
conn = sqlite3.connect('replied_to.db')
c = conn.cursor()

# Create table to store replied-to posts
c.execute('''CREATE TABLE IF NOT EXISTS replied_to (id TEXT PRIMARY KEY)''')

# Get the desired subreddit
subreddit = reddit.subreddit('your_subreddit')

# Iterate over new posts in the subreddit
for submission in subreddit.new(limit=10):
    # Check if post has already been replied to
    c.execute('SELECT * FROM replied_to WHERE id=?', (submission.id,))
    if not c.fetchone():
        # Reply to post
        submission.reply('Your reply message')
        # Add post to replied-to list
        c.execute('INSERT INTO replied_to VALUES (?)', (submission.id,))
        conn.commit()

# Close the database connection
conn.close()