using requests instead of discord.py
This commit is contained in:
parent
40cacc2020
commit
de018b443b
47
main.py
47
main.py
@ -1,6 +1,6 @@
|
|||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from requests import get,post,put
|
from requests import get,post,put
|
||||||
from discord import SyncWebhook
|
# from discord import SyncWebhook
|
||||||
from datetime import datetime as dt, timezone as tz
|
from datetime import datetime as dt, timezone as tz
|
||||||
from time import mktime
|
from time import mktime
|
||||||
from feedparser import parse
|
from feedparser import parse
|
||||||
@ -22,7 +22,7 @@ except:
|
|||||||
load_dotenv()
|
load_dotenv()
|
||||||
discord_user = getenv('DISCORD_USERNAME')
|
discord_user = getenv('DISCORD_USERNAME')
|
||||||
discord_webhook_url = getenv('DISCORD_WEBHOOK')
|
discord_webhook_url = getenv('DISCORD_WEBHOOK')
|
||||||
webhook = SyncWebhook.from_url(getenv('DISCORD_WEBHOOK'))
|
# webhook = SyncWebhook.from_url(getenv('DISCORD_WEBHOOK'))
|
||||||
github_token = getenv('GITHUB_TOKEN')
|
github_token = getenv('GITHUB_TOKEN')
|
||||||
|
|
||||||
# list of repos to check
|
# list of repos to check
|
||||||
@ -47,25 +47,48 @@ headers = {
|
|||||||
def get_latest_releases():
|
def get_latest_releases():
|
||||||
for repo in repos:
|
for repo in repos:
|
||||||
release_url = f'{github_api}/{repo}/releases/latest'
|
release_url = f'{github_api}/{repo}/releases/latest'
|
||||||
|
# debug
|
||||||
# print(release_url)
|
# print(release_url)
|
||||||
latest_release = get(release_url, headers=headers)
|
latest_release = get(release_url, headers=headers)
|
||||||
if latest_release.status_code == 200:
|
if latest_release.status_code == 200:
|
||||||
release_details = loads(latest_release.text)
|
release_details = loads(latest_release.text)
|
||||||
|
# debugging
|
||||||
|
# print(
|
||||||
|
# release_details['name'],
|
||||||
|
# release_details['published_at'],
|
||||||
|
# old_ts,
|
||||||
|
# mktime(old_ts.timetuple()),
|
||||||
|
# mktime(dt.strptime(release_details['published_at'], "%Y-%m-%dT%H:%M:%SZ").timetuple())
|
||||||
|
# )
|
||||||
if mktime(dt.strptime(release_details['published_at'], '%Y-%m-%dT%H:%M:%SZ').timetuple()) > mktime(old_ts.timetuple()):
|
if mktime(dt.strptime(release_details['published_at'], '%Y-%m-%dT%H:%M:%SZ').timetuple()) > mktime(old_ts.timetuple()):
|
||||||
print(
|
# debug
|
||||||
release_details['tag_name'],
|
# print(
|
||||||
release_details['name'],
|
# release_details['tag_name'],
|
||||||
release_details['published_at'],
|
# release_details['name'],
|
||||||
release_details['html_url']
|
# release_details['published_at'],
|
||||||
)
|
# release_details['html_url']
|
||||||
webhook.send(f"{release_details['name']}: {release_details['tag_name']}\n{release_details['html_url']}")
|
# )
|
||||||
else:
|
payload = {
|
||||||
print(latest_release.status_code, latest_release.reason)
|
'username': discord_user,
|
||||||
|
'content': f"{release_details['name']}: {release_details['tag_name']}\n{release_details['html_url']}"
|
||||||
|
}
|
||||||
|
webhook_put = post(discord_webhook_url, headers=headers, json=payload)
|
||||||
|
# return if something goes wrong
|
||||||
|
if webhook_put.status_code != 204:
|
||||||
|
print(f"whoops... status_code is {webhook_put.status_code}")
|
||||||
|
# debug
|
||||||
|
# print(f"call was post({discord_webhook_url}, headers={headers}, json={payload})")
|
||||||
|
return False
|
||||||
|
# webhook.send(f"{release_details['name']}: {release_details['tag_name']}\n{release_details['html_url']}")
|
||||||
|
# else:
|
||||||
|
# print(latest_release.status_code, latest_release.reason)
|
||||||
else:
|
else:
|
||||||
|
print(f"whoops ... got a {latest_release.status_code} on that last one")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
## return true if the function didn't terminate abnormally before
|
## return true if the function didn't terminate abnormally before
|
||||||
return True
|
# print("all good - finish clean")
|
||||||
|
return True
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
results_sent = get_latest_releases()
|
results_sent = get_latest_releases()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user