问题不一致机器人发送带有if

时间:2019-11-21 14:22:08

标签: python discord

第一篇文章,对不起,如果有任何错误。 我正在尝试制作一个不和谐的机器人,如果网站HTML发生更改,该机器人会在组中进行通知,但是我不知道如何使该机器人在没有任何成员在线的情况下发送消息,我想执行if(string!= string1): 比将string1发送到群组

import discord
from discord.ext import commands

client = discord.Client()

@client.event
async def on_ready():
    print('Bot is ready.')



client.run('token')

1 个答案:

答案 0 :(得分:0)

不太清楚“如果网站的HTML更改了”是什么意思。该网站是否位于托管Discord bot的服务器上?如果是这样,您可以执行以下操作:

import discord
import os
import asyncio

client = discord.Client()

@client.event
async def on_ready():
    print('bot is ready.')
    client.loop.create_task(checkHTML())

@client.event
async def checkHTML():
    HTMLFileModificationTime = os.path.mtime('pathToHTMLFile')
    if not os.path.exists("./lastModified.txt"):
        with open("./lastModified.txt", "w") as fileN:
            fileN.write(HTMLFileModificationTime)
        pass
    else:
        with open("./lastModified.txt", "r") as fileN:
            lastModified = fileN.read()
        if HTMLFileModificationTime == lastModified:
            pass # Not Modified
        else:
            with open("./lastModified.txt", "w") as fileN:
                fileN.write(HTMLFileModificationTime)

            for server in client.servers:
                for channel in server.channels:
                    if channel.id == "CHANNEL ID HERE"
                        await client.send_message(channel, "MESSAGE HERE")
        await asyncio.sleep(600)

client.run('token')

我目前正在工作,因此无法检查以确保上面的代码可以“开箱即用”运行,但这是我过去在一些机器人中使用过的东西,应该引导您使用至少是正确的方向。