如何在 discord.py 中使用 asyncpraw 制作模因命令?
How to make a meme command using asyncpraw in discord.py?
如何使用 ASYNCPRAW 制作模因命令?我在网上查了一下,但没有找到任何解决方案,因为一般情况下关于 asyncpraw 的内容不多。
下面是如何在 asyncpraw 中制作模因命令。如果你不想等 100 年,看看周围 .
import discord
from discord import Embed
from discord.ext import commands
import asyncpraw
import random
@commands.command(name="meme")
async def meme(self, ctx, subred="memes"): # default subreddit is memes, later in the command you can select one of your choice (example: !meme python --> chooses r/python reddit post)
msg = await ctx.send('Loading ... ')
reddit = asyncpraw.Reddit(client_id='clientid',
client_secret='clientsecret',
username='username',
password='password',
user_agent='useragent')
subreddit = await reddit.subreddit(subred)
all_subs = []
top = subreddit.top(limit=250) # bot will choose between the top 250 memes
async for submission in top:
all_subs.append(submission)
random_sub = random.choice(all_subs)
name = random_sub.title
url = random_sub.url
embed = Embed(title=f'__{name}__', colour=discord.Colour.random(), timestamp=ctx.message.created_at, url=url)
embed.set_image(url=url)
embed.set_author(name=ctx.message.author, icon_url=ctx.author.avatar_url)
embed.set_footer(text='Here is your meme!')
await ctx.send(embed=embed)
await msg.edit(content=f'<https://reddit.com/r/{subreddit}/> :white_check_mark:') # < and > remove the embed link
return
如何使用 ASYNCPRAW 制作模因命令?我在网上查了一下,但没有找到任何解决方案,因为一般情况下关于 asyncpraw 的内容不多。
下面是如何在 asyncpraw 中制作模因命令。如果你不想等 100 年,看看周围
import discord
from discord import Embed
from discord.ext import commands
import asyncpraw
import random
@commands.command(name="meme")
async def meme(self, ctx, subred="memes"): # default subreddit is memes, later in the command you can select one of your choice (example: !meme python --> chooses r/python reddit post)
msg = await ctx.send('Loading ... ')
reddit = asyncpraw.Reddit(client_id='clientid',
client_secret='clientsecret',
username='username',
password='password',
user_agent='useragent')
subreddit = await reddit.subreddit(subred)
all_subs = []
top = subreddit.top(limit=250) # bot will choose between the top 250 memes
async for submission in top:
all_subs.append(submission)
random_sub = random.choice(all_subs)
name = random_sub.title
url = random_sub.url
embed = Embed(title=f'__{name}__', colour=discord.Colour.random(), timestamp=ctx.message.created_at, url=url)
embed.set_image(url=url)
embed.set_author(name=ctx.message.author, icon_url=ctx.author.avatar_url)
embed.set_footer(text='Here is your meme!')
await ctx.send(embed=embed)
await msg.edit(content=f'<https://reddit.com/r/{subreddit}/> :white_check_mark:') # < and > remove the embed link
return