当我试着运行我的脚本,将reddit上的memes关联起来时,我得到了这个错误。
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
而我的代码,trigerrs .reddit
命令是这样的。
@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")
这些是我的ID,secret和subreddits。
reddit_enabled_meme_subreddits = ["memes","dankmemes"]
reddit_app_secret = "SECRET"
reddit_app_id = "ID"
我已经把所有的东西都导入了, 当我看别人的时候一切都很好 但是我的就不行了!
我想你的问题是在这一行
if self.reddit():
你想把什么叫做 praw.Reddit()
正在返回。也许可以尝试去掉括号。