1
0
mirror of https://gitlab.com/2-chainz/2-chainz-twitter-bot.git synced 2025-08-02 11:31:21 +00:00

gave tweeter its own function

This commit is contained in:
2020-04-23 21:08:07 -07:00
commit 153a5ea201
14 changed files with 271 additions and 0 deletions

40
tweet/__init__.py Normal file
View File

@@ -0,0 +1,40 @@
import datetime
import logging
import tweepy
from tweepy import TweepError
import azure.functions as func
import requests as r
from . import keys
def main(mytimer: func.TimerRequest) -> None:
# Authenticate to Twitter
auth = tweepy.OAuthHandler(keys.keys["API"], keys.keys["API_SECRET"])
auth.set_access_token(
keys.keys["TOKEN"], keys.keys["TOKEN_SECRET"],
)
# Create API object
api = tweepy.API(auth)
tweeted = False
tries = 0
while tweeted == False and tries < 10:
try:
quote = r.get("https://api.chainz.rest/quote").json()["quote"]
alias = r.get("https://api.chainz.rest/alias").json()["alias"]
api.update_status(status=f"{quote} - {alias}\n")
tweeted = True
tries += 10
except TweepError:
tries += 1
logging.warning(f"{quote} - {alias} - Has already been tweeted")
utc_timestamp = (
datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
)
if mytimer.past_due:
logging.info("The timer is past due!")
logging.info("Python timer trigger function ran at %s", utc_timestamp)

12
tweet/function.json Normal file
View File

@@ -0,0 +1,12 @@
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "mytimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 10 * * MON",
"runOnStartup": false
}
]
}

10
tweet/readme.md Normal file
View File

@@ -0,0 +1,10 @@
You need to add your twitter api keys to a `keys.py` file in this directory with the following format:
```python
keys = {
"API": "API_KEY_HERE",
"API_SECRET": "API_SECRET_KEY_HERE",
"TOKEN": "TOKEN_KEY_HERE",
"TOKEN_SECRET": "TOKEN_SECRET_KEY_HERE",
}
```