Python планирование диссонанса бота - PullRequest
0 голосов
/ 09 апреля 2020

Я делаю подсчет дней и замечаю бота в раздоре. Мне нужно, чтобы мой бот отправлял сообщения о количестве дней через каждые 12 часов. как я могу это сделать ??

import discord
from discord.ext import commands
from bs4 import BeautifulSoup as bs
import asyncio
import requests

bot = commands.Bot(command_prefix='?')

html = requests.get('https://superkts.com/cal/d_day/20200504')
soup = bs(html.text, 'html.parser')
data1 = soup.find('article', {'class': 'result'}).text

html = requests.get('https://superkts.com/cal/d_day/20201203')
soup = bs(html.text, 'html.parser')
data2 = soup.find('article', {'class': 'result'}).text

html = requests.get('https://superkts.com/cal/d_day/20220105')
soup = bs(html.text, 'html.parser')
data3 = soup.find('article', {'class': 'result'}).text

@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print('------')

@bot.command()
async def notice(ctx):
    await ctx.send("문준영 입대" + data1)
    await ctx.send("신원호 수능" + data2)
    await ctx.send("김수한 전역" + data3)

bot.run('TOKEN')

1 Ответ

1 голос
/ 09 апреля 2020

Если вы просто хотите повторять это каждые 12 часов, вы можете поместить сообщение в al oop с sleep в конце:

@bot.command()
async def notice(ctx):
    while True:
        await ctx.send("문준영 입대" + data1)
        await ctx.send("신원호 수능" + data2)
        await ctx.send("김수한 전역" + data3)
        await asyncio.sleep(12 * 60 * 60)
...