Unbewohnte
4 years ago
committed by
GitHub
3 changed files with 127 additions and 0 deletions
@ -0,0 +1,22 @@
|
||||
import praw |
||||
|
||||
##### REDDIT |
||||
|
||||
reddit = praw.Reddit(client_id='YourId', |
||||
client_secret = 'YourSecret' , |
||||
username ='YourUsername' , |
||||
password = 'YourPassword', |
||||
user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36') |
||||
|
||||
#Check the praw documentation if you have questions (You get these (exept user agent) when you create an app whithin a Reddit) |
||||
# reddit.com/prefs/apps/ |
||||
##### |
||||
|
||||
|
||||
|
||||
|
||||
#####DISCORD |
||||
|
||||
TOKEN = 'YOUR TOKEN'#You can find it when the bot application created here: discord.com/developers/applications |
||||
|
||||
##### |
@ -0,0 +1,48 @@
|
||||
import praw |
||||
import urllib |
||||
from urllib import request,parse |
||||
|
||||
url_opn_list = [] |
||||
|
||||
headers = {} |
||||
headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36' |
||||
|
||||
def reddit_parse_hot(reddit, sub , many): |
||||
loop = 0 |
||||
what_to_parse = reddit.subreddit(sub) |
||||
hot_posts = what_to_parse.hot(limit = many) |
||||
for post in hot_posts: |
||||
post_url = post.url |
||||
print(post_url) |
||||
req = request.Request(post_url, headers = headers) |
||||
url_opn = request.urlopen(req) |
||||
url_opn_list.append(post_url) |
||||
loop += 1 |
||||
return url_opn_list |
||||
|
||||
def reddit_parse_time(reddit, sub, many): |
||||
loop = 0 |
||||
what_to_parse = reddit.subreddit(sub) |
||||
time_posts = what_to_parse.new(limit = many) |
||||
for post in time_posts: |
||||
post_url = post.url |
||||
print(post_url) |
||||
req = request.Request(post_url, headers = headers) |
||||
url_opn = request.urlopen(req) |
||||
url_opn_list.append(post_url) |
||||
loop += 1 |
||||
return url_opn_list |
||||
|
||||
|
||||
def random_subreddit(reddit,many): |
||||
loop = 0 |
||||
what_to_parse = reddit.subreddit('random') |
||||
hot_posts = what_to_parse.hot(limit = many) |
||||
for post in hot_posts: |
||||
post_url = post.url |
||||
print(post_url) |
||||
req = request.Request(post_url, headers = headers) |
||||
url_opn = request.urlopen(req) |
||||
url_opn_list.append(post_url) |
||||
loop += 1 |
||||
return url_opn_list, what_to_parse |
@ -0,0 +1,57 @@
|
||||
from authentication import TOKEN, reddit |
||||
import discord |
||||
from discord.ext import commands |
||||
from functions import * |
||||
|
||||
client = commands.Bot(command_prefix = '#') |
||||
|
||||
@client.event |
||||
async def on_ready(): |
||||
print('=======================================================') |
||||
print(' READY ') |
||||
print('=======================================================') |
||||
await client.change_presence(activity = discord.Game('game')) |
||||
#You can delete this ↑↑↑ line if you don`t want your bot to have an activity showing |
||||
|
||||
|
||||
@client.command() |
||||
async def parse_hot(ctx, subreddit , how_many = 5): |
||||
await ctx.send('Okay, the subreddit is : r/{}; I`ll show you {} posts in hot'.format(str(subreddit), str(how_many))) |
||||
url_opn_list.clear() |
||||
try: |
||||
reddit_parse_hot(reddit,str(subreddit),int(how_many)) |
||||
for url in url_opn_list: |
||||
await ctx.send(url) |
||||
except Exception as error: |
||||
await ctx.send('Error : '+ str(error)+ '\n') |
||||
|
||||
@client.command() |
||||
async def parse_time(ctx, subreddit, how_many = 5): |
||||
await ctx.send('Okay, the subreddit is : r/{}; I`ll show you {} posts based on time'.format(str(subreddit), str(how_many))) |
||||
url_opn_list.clear() |
||||
try: |
||||
reddit_parse_time(reddit,str(subreddit),int(how_many)) |
||||
for url in url_opn_list: |
||||
await ctx.send(url) |
||||
except Exception as error: |
||||
await ctx.send('Error : '+ str(error)+ '\n') |
||||
|
||||
|
||||
@client.command() |
||||
async def check(ctx): |
||||
await ctx.send(' ```css' +'\n'+ '[Online]' + '\n'+ '```') |
||||
|
||||
|
||||
@client.command() |
||||
async def random(ctx,how_many = 5): |
||||
url_opn_list.clear() |
||||
try: |
||||
what_to_parse = random_subreddit(reddit,int(how_many))[1] |
||||
await ctx.send('Aaaand... The subreddit is: r/{}. I`ll show you {} posts in hot'.format(str(what_to_parse),str(how_many))) |
||||
for url in url_opn_list: |
||||
await ctx.send(url) |
||||
except Exception as error: |
||||
await ctx.send('Error : '+ str(error)+ '\n') |
||||
|
||||
|
||||
client.run(TOKEN) |
Loading…
Reference in new issue