|
|
@@ -0,0 +1,92 @@
|
|
|
+import axios from 'axios'
|
|
|
+import { GetNumberService, GetNumberResponse } from './get-number-service'
|
|
|
+import { RcsNumber, RcsNumberSource, RcsNumberStatus } from '../entities/rcs-number.entity'
|
|
|
+import { InternalServerErrorException, Logger } from '@nestjs/common'
|
|
|
+
|
|
|
+const pid = '2198'
|
|
|
+
|
|
|
+const name1 = 'launch'
|
|
|
+const ApiKey1 = 'NUdVcVMxelBQTXlpcTBwbk1XQUhzQT09'
|
|
|
+
|
|
|
+const cowboyInstance = axios.create({
|
|
|
+ baseURL: 'http://8.218.211.187/',
|
|
|
+ headers: {
|
|
|
+ uhost: 'api.cowboymsg.com',
|
|
|
+ uprotocol: 'http'
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+export class cowboy extends GetNumberService {
|
|
|
+ source: RcsNumberSource = RcsNumberSource.cowboy
|
|
|
+
|
|
|
+ async getNumber(country: string, num?: number): Promise<GetNumberResponse> {
|
|
|
+ const res = await cowboyInstance.get('getMobile', {
|
|
|
+ params: {
|
|
|
+ name: name1,
|
|
|
+ ApiKey: ApiKey1,
|
|
|
+ cuy: country.toUpperCase(),
|
|
|
+ pid,
|
|
|
+ num: 1,
|
|
|
+ noblack: 1,
|
|
|
+ serial: 2
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (res.data.code !== 200) {
|
|
|
+ throw new InternalServerErrorException(res.data.msg)
|
|
|
+ }
|
|
|
+ const number = res.data.data
|
|
|
+ return {
|
|
|
+ number: number.replace(/^\+/, ''),
|
|
|
+ orderId: number,
|
|
|
+ operatorCode: '',
|
|
|
+ rawResponse: [res.data]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ async releaseNumber(number: string) {
|
|
|
+ const { data } = await cowboyInstance.get('passMobile', {
|
|
|
+ params: {
|
|
|
+ name: name1,
|
|
|
+ ApiKey: ApiKey1,
|
|
|
+ pn: number,
|
|
|
+ pid
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (data.code === 200) {
|
|
|
+ Logger.log(`release number ${number} success`)
|
|
|
+ } else {
|
|
|
+ throw new Error(data.msg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ async retriveMessage(orderId: string, num?: number): Promise<string> {
|
|
|
+ const { data } = await cowboyInstance.get('getMsg', {
|
|
|
+ params: {
|
|
|
+ name: name1,
|
|
|
+ ApiKey: ApiKey1,
|
|
|
+ pn: orderId,
|
|
|
+ pid: pid,
|
|
|
+ serial: 2
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (data.code === 200) {
|
|
|
+ return `Your Messenger verification code is G-${data.data}`
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ async blockNumber(number: string) {
|
|
|
+ const { data } = await cowboyInstance.get('addBlack', {
|
|
|
+ params: {
|
|
|
+ name: name1,
|
|
|
+ ApiKey: ApiKey1,
|
|
|
+ pn: number,
|
|
|
+ pid: pid
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (data.code === 200) {
|
|
|
+ Logger.log(`add black ${number} success`)
|
|
|
+ } else {
|
|
|
+ throw new Error(data.msg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|