When I try to run my script that collacts memes from reddit, I get this error:
Traceback (most recent call last):
File "C:\Users\emirs\PycharmProjects\discordmasterbot\venv\lib\site-packages\discord\ext\commands\bot.py", line 892, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\emirs\PycharmProjects\discordmasterbot\venv\lib\site-packages\discord\ext\commands\core.py", line 797, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\emirs\PycharmProjects\discordmasterbot\venv\lib\site-packages\discord\ext\commands\core.py", line 92, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: 'Reddit' object is not callable
And my code that trigerrs .reddit
command is this:
@client.command(description="This command is not working right now")
async def reddit(self,ctx,subreddit: str =""):
self.reddit = praw.Reddit(client_id=reddit_app_id,
client_secret=reddit_app_secret,user_agent="MASTERBOT:½s:1.0")
if self.reddit():
chosen_subreddit = reddit_enabled_meme_subreddits[0]
if subreddit:
if subreddit in reddit_enabled_meme_subreddits:
chosen_subreddit = subreddit
submissions = self.reddit.subreddits(chosen_subreddit).hot()
post_to_pick = random.randint(1,10)
for i in range(0, post_to_pick):
submissions = next(x for x in submissions if not x.stickied)
await ctx.send(submissions.url)
else:
await ctx.send("This is not working")
And these are my id,secret and subreddits:
reddit_enabled_meme_subreddits = ["memes","dankmemes"]
reddit_app_secret = "SECRET"
reddit_app_id = "ID"
I have everything imported, everything seems fine when I look into others but mine just doesn't work!
I think your issue is at the line:
if self.reddit():
You're trying to call what praw.Reddit()
is returning.
Perhaps try removing the parentheses.