#!/bin/bash
#
# IMPORTANT: Before this can be used, as the taldir service user
# you need to authorize this CLI app for the taldir twitter account.
# e.g.:
# $ t authorize
#
TWITTER_USER=$(echo $1 | sed 's/@//')
TWITTER_ID=$(twurl "/2/users/by/username/$TWITTER_USER" | jq -r '.data.id')
CODE=$2
LINK=$(taldir-cli -l -a $1 -c $2)
TMPFILE="qrtmp-$CODE.png"
echo "$LINK" | qrencode -o $TMPFILE
MESSAGE="Follow this link to complete your Taldir registration: $LINK"
echo "$MESSAGE to $TWITTER_ID"
UPLOAD_RESP=$(twurl -H upload.twitter.com "/1.1/media/upload.json" -f $TMPFILE -F media -X POST)
MEDIA_ID=$(echo $UPLOAD_RESP | jq -r '.media_id_string')
POST_BODY=$(echo '{"event": {"type": "message_create", "message_create": {"target": {"recipient_id":"'$TWITTER_ID'"}, "message_data": {"text":"'$MESSAGE'", "attachment": {"type": "media", "media": {"id":"'$MEDIA_ID'"}}}}}}')
twurl -A 'Content-type: application/json' -X POST /1.1/direct_messages/events/new.json -d "$POST_BODY"
rm $TMPFILE
