⛳
nextcordでスクリーンショットを撮ってくれるbotを作る
※この記事はT-taku氏が作ったのをplaywrightバージョンに書き換えたものです。
今回完成させるもの
Discordでサイトのスクリーンショットを撮ってくれるbotを作る。
こちらの記事にあるのをplaywrightバージョンに書き換えよう。
環境
- centos7
- Python3.9
- nextcord v2.0.0a8
- playwright
pipのインストール
pip3 install nextcord playwright
セットアップ
playwrightのセットアップをしよう
playwright install
実装
import nextcord
from os import getenv
from playwright.async_api import async_playwright
client = nextcord.Client()
@client.event
async def on_ready():
print("login")
print(client.user.name)
print(client.user.id)
@client.slash_command(description="スクリーンショットを撮ります")
async def ss(interaction, url: str = nextcord.SlashOption(description="URLをここに", required=True)):
await interaction.response.defer()
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
await page.goto(url)
data = await page.screenshot(path="image.png")
await browser.close()
embed = nextcord.Embed(title="スクリーンショット")
embed.set_image(url='attachment://image.png')
await interaction.followup.send(file=nextcord.File("image.png"), embed=embed)
client.run("token")
結果
感想
多分seleniumより速いし、いいと思う
Discussion