Message hosting offer to "Find a Host" chat
This commit is contained in:
parent
42bda5fd22
commit
10de956256
|
@ -22,7 +22,7 @@ from django.core.cache import cache
|
||||||
from django.utils.timezone import now, pytz
|
from django.utils.timezone import now, pytz
|
||||||
|
|
||||||
from . import models, serializers, utils_ldap, utils_stats, utils_auth, utils, utils_email
|
from . import models, serializers, utils_ldap, utils_stats, utils_auth, utils, utils_email
|
||||||
from .. import settings
|
from .. import settings, secrets
|
||||||
|
|
||||||
STATIC_FOLDER = 'data/static/'
|
STATIC_FOLDER = 'data/static/'
|
||||||
|
|
||||||
|
@ -42,6 +42,23 @@ def alert_tanner(message):
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
logger.error('Problem alerting Tanner: ' + str(e))
|
logger.error('Problem alerting Tanner: ' + str(e))
|
||||||
|
|
||||||
|
def spaceporter_host(message):
|
||||||
|
logger.info('Spaceporter bot sending to host chat: ' + message)
|
||||||
|
|
||||||
|
if secrets.SPACEPORTER_HOST_TOKEN:
|
||||||
|
url = 'https://forum.protospace.ca/chat/hooks/{}.json'.format(
|
||||||
|
secrets.SPACEPORTER_HOST_TOKEN,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
logger.info('Aborting Spaceporter bot message, no token.')
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
data = dict(text=message)
|
||||||
|
requests.post(url, json=data, timeout=4)
|
||||||
|
except BaseException as e:
|
||||||
|
logger.error('Problem with bot: ' + str(e))
|
||||||
|
|
||||||
def num_months_spanned(d1, d2):
|
def num_months_spanned(d1, d2):
|
||||||
'''
|
'''
|
||||||
Return number of month thresholds two dates span.
|
Return number of month thresholds two dates span.
|
||||||
|
|
|
@ -1794,6 +1794,20 @@ class HostingViewSet(Base):
|
||||||
|
|
||||||
logging.info('No current hosting for that user, new hosting #%s created.', h.id)
|
logging.info('No current hosting for that user, new hosting #%s created.', h.id)
|
||||||
|
|
||||||
|
try: # TODO: remove try / except
|
||||||
|
# send a message to Spacebar
|
||||||
|
message = 'A member just offered to host for {} hours from now until {}!'.format(
|
||||||
|
hours,
|
||||||
|
h.finished_at.astimezone(utils.TIMEZONE_CALGARY).strftime('%-I:%M %p'),
|
||||||
|
)
|
||||||
|
if hosting_user.member.discourse_username:
|
||||||
|
message += ' Tag @{} here to get their attention.'.format(
|
||||||
|
hosting_user.member.discourse_username,
|
||||||
|
)
|
||||||
|
utils.spaceporter_host(message)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
# update "open until" time
|
# update "open until" time
|
||||||
hosting = models.Hosting.objects.order_by('-finished_at').first()
|
hosting = models.Hosting.objects.order_by('-finished_at').first()
|
||||||
closing = dict(
|
closing = dict(
|
||||||
|
|
|
@ -80,6 +80,12 @@ PINBALL_API_TOKEN = ''
|
||||||
# head /dev/urandom | base32 | head -c 40
|
# head /dev/urandom | base32 | head -c 40
|
||||||
ALARM_API_TOKEN = ''
|
ALARM_API_TOKEN = ''
|
||||||
|
|
||||||
|
# Spaceporter bot webhook URL token
|
||||||
|
# Posts to the "find a host" chat
|
||||||
|
# Found in /admin/plugins/chat URL section
|
||||||
|
# should look like '37f5e8d9c64064c86109b7ea'
|
||||||
|
SPACEPORTER_HOST_TOKEN = ''
|
||||||
|
|
||||||
# Protospace general info
|
# Protospace general info
|
||||||
DOOR_CODE = ''
|
DOOR_CODE = ''
|
||||||
WIFI_PASS = ''
|
WIFI_PASS = ''
|
||||||
|
|
Loading…
Reference in New Issue
Block a user