python - Python中的后台任务,检查已经发送的数据
问题描述
我有一个问题要问这里的专家。我正在为我的 Discord 机器人创建后台任务,并让它按我的意愿工作,但我想实现一个功能,允许我忽略已经发送的数据。我正在使用通过请求请求的数据,因为它会随着时间的推移而变化。
这是我的代码的一部分,它按预期工作,但我不知道如何添加一个部分来检查发送的消息而不是重复它。我设置了 1 分钟进行测试,看看它是否有效,这将在稍后更改。
提前致谢
import discord
import requests
import asyncio
import json
from datetime import datetime, timezone
import math
from discord.ext import commands, tasks
from discord.ext.commands import Bot
import discord.utils
from itertools import cycle
client = discord.Client()
status = (['Scraping VATSIM Data','Anyone online?','What can I show you?', 'Check our social media for updates!'])
@client.event
async def on_ready():
change_status.start()
auto_online.start()
# await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="VATSIM Data!"))
print('We have logged in as {0.user}'.format(client))
@tasks.loop(minutes=1)
async def auto_online():
# send request to vatsim data
t = requests.get('http://cluster.data.vatsim.net/vatsim-data.json').json()
xy = json.dumps(t)
s = json.loads(xy)
channel1 = client.get_channel(692681048798265347)
# Bookins Data Display
utc = datetime.now(timezone.utc)
# Command for displaying ATC online
online_exists = False
for item in s['clients']:
if item['callsign'] in atc:
online_exists = True
embed = discord.Embed(colour = discord.Colour.purple())
embed.set_author(name='VATAdria Online ATC')
embed.add_field(name='Controller',value=item['realname'],inline=False)
embed.add_field(name='Position', value=item['callsign'], inline=False)
embed.add_field(name='Frequency', value=item['frequency'], inline=False)
await channel1.send( embed=embed)```
解决方案
在做了一些研究之后,我发现了如何通过 MySQL 做到这一点。所以不再需要这个答案了。
推荐阅读
- r - Shiny Dashboard 中的问题,带有警告 massege“强制引入的 NA”
- javascript - .click() 方法无法识别
- python - 如何为传递给另一个类的 kwarg 添加类型提示,而无需复制我的提示和/或文档?
- azure-devops - 如何更改工作项历史记录中的 CreatedBy?
- laravel - 使所选项目成为当前项目
- excel - Excel 将多个列与多个条件之一相加为真
- excel - COUNTIFS - 向下拖动,线性填充条件:
- angular - 属性 'map' 没有初始化程序,也没有在构造函数 @ViewChild 中明确分配
- javascript - TypeError:无法读取未定义的属性“绑定”,我不知道这意味着什么。反应js
- asp.net-core - ABP 和每个层次结构的表