Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import telegram
- import logging
- import json
- import os
- import scraper
- # Configure bot
- token = os.environ['TELEGRAM_TOKEN']
- chatID = os.environ['F1_CHAT_ID']
- bot = telegram.Bot(token=token)
- # Logging
- logger = logging.getLogger()
- if logger.handlers:
- for handler in logger.handlers:
- logger.removeHandler(handler)
- logging.basicConfig(level=logging.INFO)
- OK_RESPONSE = {
- 'statusCode': 200,
- 'headers': {'Content-Type': 'application/json'},
- 'body': json.dumps('ok')
- }
- ERROR_RESPONSE = {
- 'statusCode': 400,
- 'body': json.dumps('Something went wrong!')
- }
- # Run webhook
- def webhook(event, context):
- logger.info('Event: {}'.format(event))
- if event.get('httpMethod') == 'POST' and event.get('body'):
- logger.info('Message received')
- update = telegram.Update.de_json(json.loads(event.get('body')), bot)
- chat_id = update.message.chat.id
- text = update.message.text
- if text == '/F1':
- photo = scraper.get_screenshot()
- caption = 'Upcoming race weekend info!'
- send_photo(photo, caption)
- logger.info('Message sent')
- return OK_RESPONSE
- return ERROR_RESPONSE
- # Set webhook
- def set_webhook(event, context):
- logger.info('Event: {}'.format(event))
- url = 'https://{}/{}/'.format(
- event.get('headers').get('Host'),
- event.get('requestContext').get('stage'),
- )
- webhook = bot.set_webhook(url)
- if webhook:
- return OK_RESPONSE
- return ERROR_RESPONSE
- # Send photo
- def send_photo(photo, caption, chat_id=chatID, token=token):
- bot.sendPhoto(chat_id=chat_id, photo=photo, caption=caption)
Add Comment
Please, Sign In to add comment