[PYTHON] Quoi qu'il en soit, je suis à la maison, alors faisons un bot de fonction de capture d'écran (site) avec Discord!

Bonjour! C'est ce que Mosu et T-taku. J'ai du temps libre à Corona, j'ai donc décidé d'écrire un article! Merci de rester en contact avec moi ...: boy_tone1:

Un peu de côté

https://discordapp.com/oauth2/authorize?client_id=476012428170362880&permissions=2147347828&scope=bot Ce robot est géré par moi T-taku, si vous voulez voir à quoi ressemble la commande de capture d'écran, veuillez le mettre et essayer!

Que faire cette fois

Créez un bot qui vous donnera une capture d'écran de votre site avec Discord! Remarque: ** Ceci n'est pas une introduction à Discord.py. ** Pour la création de compte, consultez le super article ci-dessous: ici

environnement

Faisons-le tout de suite!

Cette fois, nous le ferons sur la base de Windows 10. De plus, nous partirons du principe que Google Chrome est également inclus.

Présentation du pilote Chrome

Depuis ici, installez le pilote Chrome qui convient à votre environnement. Veuillez noter que vous obtiendrez une erreur si vous n'entrez pas la bonne version!

paramètres de pip

pip install discord.py pillow chromedriver chromedriver-binary selenium

la mise en oeuvre

Implémentons-le maintenant! Tout d'abord, la partie capture d'écran.


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="Où il y a Chrome"
driver=webdriver.Chrome(chrome_options=options,executable_path=r"Emplacement du pilote Chrome")
driver.get(web)
driver.set_window_size(1280, 720)
driver.save_screenshot(FILENAME)
driver.quit()

Envoyer à Discord

Il est conçu pour fonctionner au minimum. (Peut-être ...)

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='Au démarrage!',type=d.ActivityType.watching))

@bot.event
async def on_ready():
    #S'identifier
    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)#Prenez ctx
    if message.author.bot:
        return #Ne répond pas au 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="Où se trouve Chrome"
        driver=webdriver.Chrome(chrome_options = options,executable_path=r"Où se trouve le pilote 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("Vous ne pouvez pas accéder à cette page 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="capture d'écran", description=f"{web}")
            embed.set_image(url="attachment://image.png ")
            await ctx.send(file=file,embed=embed)
            driver.quit()
    except:
        await ctx.send("L'accès n'a pas été possible en raison d'une erreur.")
bot.run("TOKEN HERE")

c'est tout

Comment ça s'est passé? J'ai fait un article avec un peu de difficulté. Veuillez l'ajouter à votre bot!

Comme je l'ai dit au début de l'article, si vous ajoutez mon bot, cela encouragera la création de l'article et le développement du bot, alors merci!: https://discordapp.com/oauth2/authorize?client_id=476012428170362880&permissions=2147347828&scope=bot

Si vous le trouvez utile, je serais plus qu'heureux de recevoir LGTM!

Eh bien! (Je vous serais reconnaissant si vous pouviez me dire si vous avez fait une erreur!)

Recommended Posts

Quoi qu'il en soit, je suis à la maison, alors faisons un bot de fonction de capture d'écran (site) avec Discord!
Faisons un robot Discord.
Faisons un site multilingue en utilisant flask-babel
Faisons un bot Twitter avec Python!
J'ai essayé de créer un BOT de traduction qui fonctionne avec Discord en utilisant googletrans
Si vous voulez créer un bot discord avec python, utilisons un framework
Créer un bot pour Skype sur EC2 (CentOS)
Créez un BOT qui raccourcit l'URL Discord
Créer un robot LINE de retour de perroquet avec AWS Cloud9
[Pour jouer] Essayez de faire de Yuma un robot LINE (Python)
[Super facile] Faisons un LINE BOT avec Python.