-
Notifications
You must be signed in to change notification settings - Fork 12
/
login.js
52 lines (42 loc) · 1.37 KB
/
login.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'use strict'
require('dotenv-safe').config()
const prompts = require('prompts')
const delay = require('delay')
const { ClubhouseClient } = require('clubhouse-client')
const { sanitizePhoneNumber } = require('./sanitize-phone-number')
// log in with the clubhouse api
async function main() {
const clubhouse = new ClubhouseClient()
console.error('Log in to Clubhouse')
const { rawPhoneNumber } = await prompts({
type: 'text',
name: 'rawPhoneNumber',
message: 'Enter your phone number:'
})
const phoneNumber = sanitizePhoneNumber(rawPhoneNumber)
if (!rawPhoneNumber) {
throw new Error('error: invalid phone number', rawPhoneNumber)
}
console.error('sending sms code...')
await clubhouse.startPhoneNumberAuth(phoneNumber)
await delay(2000)
const { verificationCode } = await prompts({
type: 'text',
name: 'verificationCode',
message: 'Enter your SMS code from Clubhouse:'
})
const result = await clubhouse.completePhoneNumberAuth(
phoneNumber,
verificationCode
)
if (!result?.user_profile?.user_id) {
console.error('error logging in', result)
throw new Error(result.message)
}
console.log(`CLUBHOUSE_AUTH_TOKEN='${result.auth_token}'`)
console.log(`CLUBHOUSE_DEVICE_ID='${clubhouse._deviceId}'`)
console.log(`CLUBHOUSE_USER_ID='${result.user_profile.user_id}'`)
}
main().catch((err) => {
console.error(err)
})