discord.py를 사용하여 meme 봇/명령을 만드는 방법
17035 단어 discordtutorialpythonprogramming
작동 방식
밈 봇은 r/dankmemes 하위 레딧에서 밈을 가져옵니다. 명령을 실행할 때마다 이 하위 레딧에서 핫 포스트 중 하나를 찾습니다. 이 기능을 디스코드 봇에 추가하려면 다음 지침을 따르십시오.
패키지 설치
pip install discord.py
pip install requests
pip install aiohttp
톱니를 사용하는 경우:
import aiohttp
import requests
import discord
from discord.ext import commands
class Meme(commands.Cog):
def __init__(self, client):
self.client = client
@commands.command(pass_context=True)
async def meme_command(self, ctx):
aembed = discord.Embed(title="", description="")
async with aiohttp.ClientSession() as cs:
async with cs.get('https://www.reddit.com/r/dankmemes/new.json?sort=hot') as r:
res = await r.json()
embed.set_image(url=res['data']['children'] [random.randint(0, 25)]['data']['url'])
await ctx.send(embed=embed)`
def setup(client):
client.add_cog(Meme(client))
톱니바퀴를 사용하지 않는 경우:
@client.command(pass_context=True)
async def meme(ctx):
embed = discord.Embed(title="", description="")
async with aiohttp.ClientSession() as cs:
async with cs.get('https://www.reddit.com/r/dankmemes/new.json?sort=hot') as r:
res = await r.json()
embed.set_image(url=res['data']['children'] [random.randint(0, 25)]['data']['url'])
await ctx.send(embed=embed)
다음과 같이 보일 것입니다
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
TOKEN = "your token"
PREFIX = "your prefix" #example: ".", "!", "?"
client = commands.Bot(command_prefix=PREFIX, intents=intents,help_command=None)
@client.command(pass_context=True)
async def meme(ctx):
embed = discord.Embed(title="", description="")
async with aiohttp.ClientSession() as cs:
async with cs.get('https://www.reddit.com/r/dankmemes/new.json?sort=hot') as r:
res = await r.json()
embed.set_image(url=res['data']['children'] [random.randint(0, 25)]['data']['url'])
await ctx.send(embed=embed)
client.run(TOKEN)
메모:
Heroku를 사용하여 봇을 호스팅하는 경우. 대신 다음 줄을 사용하는 것이 좋습니다.
톱니바퀴 포함:
from requests import get
import json
import discord
from discord.ext import commands
class Meme(commands.Cog):
def __init__(self, client):
self.client = client
@commands.command(pass_context=True)
async def meme_command(self, ctx):
content = get("https://meme-api.herokuapp.com/gimme").text
data = json.loads(content,)
meme = discord.Embed(title=f"{data['title']}", color = discord.Color.random()).set_image(url=f"{data['url']}")
await ctx.reply(embed=meme)
def setup(client):
client.add_cog(Meme(client))
톱니가 없는 경우:
@client.command(pass_context=True)
async def meme_command(self, ctx):
content = get("https://meme-api.herokuapp.com/gimme").text
data = json.loads(content,)
meme = discord.Embed(title=f"{data['title']}", color = discord.Color.random()).set_image(url=f"{data['url']}")
await ctx.reply(embed=meme)
Reference
이 문제에 관하여(discord.py를 사용하여 meme 봇/명령을 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nicat/how-to-create-meme-botcommand-using-discordpy-2819텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)