어차피, 집에 있으니까 Discord로 (사이트) 스크린 샷 기능 봇 만들자!
15468 단어 chromedriver디스코드㎢ 분말 rd. pyChrome파이썬
약간의 여담
h tps : // / s r r p. 코 m / 오 th2 / 어쩌지? c페인t_이d=476012428170362880&페르미시온 s=2147347828&s코페=보트
이 봇은 내 T-taku가 운영하는 것입니다. 스크린 샷 명령이 무엇인지 확인하고 싶습니다!
이번에 완성시키는 것
Discord로 사이트의 스크린 샷을 제공하는 봇을 만드십시오!
주의 : Discord.py 입문편이 아닙니다. 계정 생성에 대한 자세한 내용은 다음 기사를 참조하세요. 여기
환경
Discord로 사이트의 스크린 샷을 제공하는 봇을 만드십시오!
주의 : Discord.py 입문편이 아닙니다. 계정 생성에 대한 자세한 내용은 다음 기사를 참조하세요. 여기
환경
조속히 만들어 가자!
이번에는 Windows10을 전제로 만들어 갑니다. 또한 Google 크롬도 들어 있다고 전제로 진행하고 있습니다.
Chromedriver 배포
여기에서 환경에 있던 ChromeDriver를 배포하십시오. 올바른 버전을 입력하지 않으면 오류가 발생하므로주의하십시오!
pip 설정
pip install discord.py pillow chromedriver chromedriver-binary selenium
구현
바로 구현하자! 우선 스크린 샷 부분입니다.
from PIL import Image
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
Web="https://yahoo.co.jp"
FILENAME = "screen.png"
options=Options()
options.set_headless(True)
options.add_argument('--disable-dev-shm-usage')
options.add_argument('start-maximized')
options.add_argument('disable-infobarse')
options.add_argument('--disable-extensions')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.binary_location="Chromeがあるとこ"
driver=webdriver.Chrome(chrome_options=options,executable_path=r"Chrome driverの場所")
driver.get(web)
driver.set_window_size(1280, 720)
driver.save_screenshot(FILENAME)
driver.quit()
Discord로 보내기
최소한 움직이게 되어 있습니다. (어쩌면 ...)
import discord
from discord.ext import commands
from PIL import Image
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
bot = commands.Bot(command_prefix='!',activity=d.Activity(name='起動中!',type=d.ActivityType.watching))
@bot.event
async def on_ready():
#ログイン
print('Login infomation>>>')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.event
async def on_message(message):
ctx = await bot.get_context(message)#ctxをとる
if message.author.bot:
return #Botには反応しない
await bot.invoke(ctx)
@bot.command()
async def ss(ctx,web):
try:
FILENAME = "screen.png"
options=Options()
options.set_headless(True)
options.add_argument('--disable-dev-shm-usage')
options.add_argument('start-maximized')
options.add_argument('disable-infobarse')
options.add_argument('--disable-extensions')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.binary_location="Chromeがある場所"
driver=webdriver.Chrome(chrome_options = options,executable_path=r"Chromeドライバーがある場所")
if not "http" in str(web):
try:
driver.get("http://"+str(web))
except:
driver.get("https://"+str(web))
else:
driver.get(str(web))
if 'IP addres' in driver.page_source:
await ctx.send("このWebページにはアクセスできません。")
else:
driver.set_window_size(1280, 720)
driver.save_screenshot('screenshot.png')
file = discord.File("screenshot.png", filename="image.png")
embed = d.Embed(title="スクリーンショット", description=f"{web}")
embed.set_image(url="attachment://image.png")
await ctx.send(file=file,embed=embed)
driver.quit()
except:
await ctx.send("エラーが発生していたため、アクセスができませんでした。")
bot.run("TOKEN HERE")
이상
어땠습니까? 조금 난이도가 높은 기사를 만들어 보았습니다. 여러분도 자신의 봇에 추가해보세요!
기사의 시작 부분에서도 말했지만, 내 봇을 추가해 주면 기사 작성, 봇 개발의 격려가되기 때문에, 잘 부탁드립니다! :
htps : ///ss r이다 p. 코 m / 오 th2 / 어쨌든? c페인t_이d=476012428170362880&페르미시온 s=2147347828&s코페=보트
도움이되면 LGTM을 주면 더 기뻐할 것입니다!
그러면!
Reference
이 문제에 관하여(어차피, 집에 있으니까 Discord로 (사이트) 스크린 샷 기능 봇 만들자!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Taku_427_T/items/89c86daa0f5b32713127
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install discord.py pillow chromedriver chromedriver-binary selenium
from PIL import Image
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
Web="https://yahoo.co.jp"
FILENAME = "screen.png"
options=Options()
options.set_headless(True)
options.add_argument('--disable-dev-shm-usage')
options.add_argument('start-maximized')
options.add_argument('disable-infobarse')
options.add_argument('--disable-extensions')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.binary_location="Chromeがあるとこ"
driver=webdriver.Chrome(chrome_options=options,executable_path=r"Chrome driverの場所")
driver.get(web)
driver.set_window_size(1280, 720)
driver.save_screenshot(FILENAME)
driver.quit()
import discord
from discord.ext import commands
from PIL import Image
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
bot = commands.Bot(command_prefix='!',activity=d.Activity(name='起動中!',type=d.ActivityType.watching))
@bot.event
async def on_ready():
#ログイン
print('Login infomation>>>')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.event
async def on_message(message):
ctx = await bot.get_context(message)#ctxをとる
if message.author.bot:
return #Botには反応しない
await bot.invoke(ctx)
@bot.command()
async def ss(ctx,web):
try:
FILENAME = "screen.png"
options=Options()
options.set_headless(True)
options.add_argument('--disable-dev-shm-usage')
options.add_argument('start-maximized')
options.add_argument('disable-infobarse')
options.add_argument('--disable-extensions')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.binary_location="Chromeがある場所"
driver=webdriver.Chrome(chrome_options = options,executable_path=r"Chromeドライバーがある場所")
if not "http" in str(web):
try:
driver.get("http://"+str(web))
except:
driver.get("https://"+str(web))
else:
driver.get(str(web))
if 'IP addres' in driver.page_source:
await ctx.send("このWebページにはアクセスできません。")
else:
driver.set_window_size(1280, 720)
driver.save_screenshot('screenshot.png')
file = discord.File("screenshot.png", filename="image.png")
embed = d.Embed(title="スクリーンショット", description=f"{web}")
embed.set_image(url="attachment://image.png")
await ctx.send(file=file,embed=embed)
driver.quit()
except:
await ctx.send("エラーが発生していたため、アクセスができませんでした。")
bot.run("TOKEN HERE")
어땠습니까? 조금 난이도가 높은 기사를 만들어 보았습니다. 여러분도 자신의 봇에 추가해보세요!
기사의 시작 부분에서도 말했지만, 내 봇을 추가해 주면 기사 작성, 봇 개발의 격려가되기 때문에, 잘 부탁드립니다! :
htps : ///ss r이다 p. 코 m / 오 th2 / 어쨌든? c페인t_이d=476012428170362880&페르미시온 s=2147347828&s코페=보트
도움이되면 LGTM을 주면 더 기뻐할 것입니다!
그러면!
Reference
이 문제에 관하여(어차피, 집에 있으니까 Discord로 (사이트) 스크린 샷 기능 봇 만들자!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Taku_427_T/items/89c86daa0f5b32713127텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)