Мазмуну:

Reddit Reply Bot: 10 кадам
Reddit Reply Bot: 10 кадам

Video: Reddit Reply Bot: 10 кадам

Video: Reddit Reply Bot: 10 кадам
Video: Top 10 Facts - Reddit 2024, Ноябрь
Anonim
Reddit Reply Bot
Reddit Reply Bot
Reddit Reply Bot
Reddit Reply Bot

Бул нускаманын максаты - жөнөкөй Reddit ботун куруу. Reddit боту - бул Redditтеги постторду/комментарийлерди сканерлеген жана чогулткан маалыматына жооп бере турган программа. Бул PRAWти колдонуу менен Reddit API (Application Programming Interface) менен таанышуу же бир эле убакта бир нече билдирүүгө оңой жооп берүү сыяктуу көптөгөн себептерден улам маанилүү болушу мүмкүн. Буга атаандашуу үчүн, сизде Reddit эсеби болушу керек, Pythonдо коддоо менен тааныш болушуңуз керек жана Python үчүн системанын PATH өзгөрмөсүн орнотушуңуз керек, андыктан Pythonду буйрук сабында же терминалда чогулта аласыз. Эгерде булардын эч кимиси сизге мааниси жок болсо, анда сиз бул окуу куралына даяр эместирсиз. Эгерде бул кадамдар туура жасалган болсо, анда бул 30 мүнөттөн ашпашы керек. Ийгилик жана бул маалыматтуу, бактылуу ботингди табасыз деп ишенем!

1 -кадам: Кирүү жана Жеке колдонмону түзүү

Кирүү жана Жеке колдонмону түзүү
Кирүү жана Жеке колдонмону түзүү
Кирүү жана Жеке колдонмону түзүү
Кирүү жана Жеке колдонмону түзүү

Алгач Redditке кириңиз же каттоо эсебин түзүңүз жана https://ssl.reddit.com/prefs/apps/ дарегине өтүп, жеке колдонмо түзүңүз.

2 -кадам: Колдонмо түзүү

Колдонмо түзүү
Колдонмо түзүү

Колдонмону атап, скрипт чөйрөсүнүн толтурулганын текшериңиз, ошондой эле колдонмого ат жана сүрөттөмө кошуңуз (каалаган нерсе болушу мүмкүн), https:// localhost:

3 -кадам: App Screen

Колдонмо экраны
Колдонмо экраны

Колдонмону түзгөндөн кийин, сизге "жеке колдонуу сценарийи" жана "сыры" берилет, бул эмне экенин унутпаңыз, бул абдан маанилүү.

4 -кадам: RedditBot Папкасын жасаңыз жана CMDди ачыңыз

RedditBot Папкасын жасаңыз жана CMDди ачыңыз
RedditBot Папкасын жасаңыз жана CMDди ачыңыз

Иш столунда "RedditBot" деп аталган жаңы папка түзүңүз жана cmd же терминалды ачыңыз. Андан кийин, cd/Users/Admin/Desktop/RedditBot аркылуу анын каталогуна өтүңүз. Ошондой эле администраторду колдонуучу эсебиңиз менен алмаштырууну унутпаңыз.

5 -кадам: PRAW орнотуу

Пипти орнотуу PRAW
Пипти орнотуу PRAW
Пипти орнотуу PRAW
Пипти орнотуу PRAW

Андан кийин, python -m pip install praw командасын териңиз, эгер сиз мурунтан эле орноткон болсоңуз, өткөрүп жибериңиз.

6 -кадам: Praw.ini файлын папкага сүйрөңүз

Praw.ini файлын папкага сүйрөңүз
Praw.ini файлын папкага сүйрөңүз
Praw.ini файлын папкага сүйрөңүз
Praw.ini файлын папкага сүйрөңүз

Муну кылгандан кийин, Python орнотулган жерге барып, finder praw.ini терип, ошол файлды алып, RedditBot папкаңызга сүйрөңүз. Кыязы, Python C дискиндеги Users жана AppData астына орнотулат.

7 -кадам: Жаңы Python файлын түзүңүз

Жаңы Python файлын түзүңүз
Жаңы Python файлын түзүңүз
Жаңы Python файлын түзүңүз
Жаңы Python файлын түзүңүз

Python IDLE же ага барабар текст редакторун ачыңыз жана reddit_bot.py деп аталган жаңы файл түзүңүз. Аны 4 -кадамда жасаган RedditBot папкаңызга сактаңыз.

8 -кадам: Кодду чаптаңыз

Кодду чаптаңыз
Кодду чаптаңыз

Сиз бул файлды түзгөндөн кийин, бул кодду кичине тууралоолор менен чаптаңыз. Колдонуучунун атын жана сырсөздү өзүңүзгө өзгөртүңүз, user_agent ар кандай болушу мүмкүн, client_id - бул 3 -кадамдагы сиздин жеке колдонуу скриптиңиз, жана client_secret - 3 -кадамдагы сиздин сырыңыз. Ошондой эле, бул кодду чаптап жатканда, чегинүүлөрдүн окшош экенин текшериңиз. жогорудагы сүрөт. Ошондой эле сиз киргизген ар бир өзгөрмөнүн тырмакчада экенин текшериңиз.

#!/usr/bin/python import praw

#Төмөнкү өзгөрмөгө туура Reddit маалыматыңызды киргизиңиз

userAgent = 'Бот атын киргизиңиз'

cID = 'Жеке колдонуу скриптиңизди киргизиңиз'

cSC = 'Кардардын сырын киргизиңиз'

userN = 'Reddit колдонуучу атыңызды киргизиңиз'

userP = 'Reddit сырсөзүңүздү киргизиңиз'

numFound = 0

reddit = praw. Reddit (user_agent = userAgent, client_id = cID, client_secret = cSC, username = userN, password = userP)

subreddit = reddit.subreddit ('аба ырайы') #сиз көзөмөлдөгүңүз келген бардык subreddit

bot_phrase = 'Кап, мен калып жаткандай көрүнөм>:(' бот жооп берген #фразеологизм

Keywords = {'Cold', 'chicago', 'polar', 'vortex'} #subredditsтен табуу үчүн ачкыч сөздөрдүн топтомун түзөт

subreddit.hot тапшыруу үчүн (чек = 10): #бул суббреддиттеги эң мыкты 10 билдирүүнү карайт

n_title = submit.title.lower () #посттун аталышын кичине тамга менен жазат, андыктан биз ачкыч сөздөрүбүздү аны менен салыштыра алабыз.

i үчүн ачкыч сөздөр: #биздин ачкыч сөздөр аркылуу өтөт

Эгерде мен n_titleде: #эгер биздин ачкыч сөздөрдүн бири субредиттин эң алдыңкы 10ундагы аталышка дал келсе

numFound = numFound + 1

print ('Bot replying to:') #буйрук сабына #жооп берет жана чыгарат

басып чыгаруу ("Аталышы:", submit.title)

басып чыгаруу ("Текст:", submit.selftext)

басып чыгаруу ("Упай:", submit.score)

басып чыгаруу ("--------------------------------")

басып чыгаруу ('Bot айтып жатат:', bot_phrase)

басып чыгаруу ()

тапшыруу.жооп (bot_phrase)

эгер numFound == 0:

басып чыгаруу ()

басып чыгаруу ("Кечиресиз, ошол ачкыч сөздөр менен эч кандай билдирүү табылган жок, кайра аракет кылыңыз!")

9 -кадам: Кодуңузду иштетиңиз

Кодуңузду иштетиңиз!
Кодуңузду иштетиңиз!
Кодуңузду иштетиңиз!
Кодуңузду иштетиңиз!

Андан кийин файлды RedditBot папкаңызга сактап, cmdде pythonreddit_bot.py менен иштетиңиз

10 -кадам: Жана бул

Эми сизде сүйүктүү субредитиңизди сканерлеп, каалаган фраза менен автоматтык түрдө жооп бере ала турган Reddit боту болушу керек. Сиз бул кодду башка Reddit бот идеялары үчүн жакшы башталыш катары колдоно аласыз, бул температураны которуудан баштап мышык сүрөттөрү бар адамдарга жооп берүүгө чейин болушу мүмкүн. Окуганыңыз үчүн рахмат, бул пайдалуу болду деп үмүттөнөм жана келечектеги долбоорлорго ийгилик.

Сунушталууда: