May 15, 2022

Модуль python Xacker_SMS (Руководство)

И так, Я написал модуль с помощью которого вы сможете подключить абсолютно любой сервис с виртуальными номерами!

Приступим!

  1. Начало - LINK
  2. Функция get_balanse - LINK
  3. Функция new_number - LINK
  4. Функция new_status - LINK
  5. Функция get_status - LINK
  6. Функция get_all_price - LINK
  7. Каналы - LINK

Начало

Для начала нам нужно установить и импортировать сам модуль:

Нажимаем WIN+R и приписываем в открывшемся окошке cmd

Далее прописываем pip install Xacker_SMS

Далее импортируем всё что нам нужно

В моём случае:

import Xacker_SMS
from Xacker_SMS import Xacker_SMS_object

После чего создаём 2 переменные:

token = 'токен от сайта (обычно находится в разделе API)'

link = 'Ссылка для отправки запросов (Пример https://365sms.org/stubs/handler_api.php)'

Далее создаём объект для работы:

SMS = Xacker_SMS_object(token=token, link=link)

Функция get_balanse

print(SMS.get_balanse()) => Ваш баланс

Возможные ошибки:

  1. BAD_KEY => Неверный API-ключ
  2. ERROR_SQL => Ошибка SQL-сервера
  3. BAD_ACTION => Неправильное формирование запроса

Функция new_number

print(SMS.new_number(servis=s, strana=t, operator=o))

Где:

✅ - Обязательный аргумент

❌ - Не обязательный аргумент

  1. s => Сервис для активации например vk (Все сервисы вы можете посмотреть в документации API сервиса который выбрали) ✅
  2. t =>Страна для активации например 0 - Россия (Все ID стран можете посмотреть в документации API сервиса который выбрали) ✅
  3. o => Оператор для активации например tele2 - Теле2 (Все ID операторов можете посмотреть в документации API сервиса который выбрали) ❌

Ответы сервиса:

  1. NO_NUMBERS => Нет номеров с заданными параметрами, попробуйте позже, или поменяйте оператора\страну
  2. NO_BALANCE => Закончились деньги на аккаунте
  3. WRONG_SERVICE => Не верный идентификатор сервиса
  4. ACCESS_NUMBER:ID:NUMBER => Получили номер, ID активации - ID, сам номер с кодом страны - NUMBER

Примерный код который может быть:

nomer = SMS.new_number(servis=s, strana=t, operator=o)
spisok_nomer = nomer.split(':')
spisok_nomer[0] => ACCESS_NUMBER - Номер успешно получен
spisok_nomer[1] => ID номера
spisok_nomer[2] => Сам номер с кодом страны (например 79123456789)

Возможные ошибки:

  1. BAD_ACTION => Неправильное формирование запроса
  2. BAD_SERVICE => Некорректное наименование сервиса
  3. BAD_KEY => Неверный API-ключ
  4. ERROR_SQL => Ошибка базы SQL-сервера

Функция new_status

print(SMS.new_status(idi=i, status=s))

Где:

✅ - Обязательный аргумент

❌ - Не обязательный аргумент

  1. i => ID номера из предыдущей функции ✅
  2. s => Статус который хотите приобрести номеру ✅

Возможные статусы:

  1. 1 - смс на номер отправлено
  2. 3 - необходимо повторно смс
  3. 6 - активация успешно завершена
  4. 8 - отменить активацию

Какой статус когда отправлять?

Сразу после получения номера доступны следующие действия:
8 - Отменить активацию
1 - Сообщить, что SMS отправлена

Для активации со статусом 1:
8 - Отменить активацию

Сразу после получения кода:
3 - Запросить еще одну смс
6 - Подтвердить SMS-код и завершить активацию

Для активации со статусом 3:
3 - Запросить еще одну смс
6 - Подтвердить SMS-код и завершить активацию

Ответы:

  1. ACCESS_READY => Готовность ожидания СМС
  2. ACCESS_RETRY_GET => Ожидаем новое СМС
  3. ACCESS_ACTIVATION => Активация успешно завершена
  4. ACCESS_CANCEL => Активация отменена

Возможные ошибки:

  1. BAD_ACTION => Общее неправильное формирование запроса
  2. BAD_SERVICE => Некорректное наименование сервиса
  3. BAD_KEY => Неверный API-ключ
  4. NO_ACTIVATION => id активации не существует
  5. ERROR_SQL => Ошибка базы SQL-сервера

Примерный код который может быть

new_stat = SMS.new_status(idi=nomer_id, status=6) => активация успешно завершена

Функция get_status

print(SMS.get_status(idi=i))

Где:

✅ - Обязательный аргумент

❌ - Не обязательный аргумент

  1. i => ID номера из функции new_number ✅

Ответы:

  1. STATUS_WAIT_CODE => Ожидаем прихода СМС
  2. STATUS_WAIT_RETRY:LASTCODE => Ожидаем повторное СМС. LASTCODE - последнее полученное СМС
  3. STATUS_CANCEL => Активация отменена
  4. STATUS_OK:CODE => Код получен (где CODE - код активации)

Примерный код:

today_status = SMS.get_status(idi=i)
if today_status  == 'STATUS_WAIT_CODE':
   print('Ожидаем прихода СМС')
elif 'STATUS_WAIT_RETRY' in today_status:
   spisok = today_status.split(':')
   print(f'Ожидаем повторное СМС. Последнее смс - {spisok[1]}')
elif today_status == 'STATUS_CANCEL':
   print('Активация отменена')
else:
   spisok = today_status.split(':')
   print(f'Код получен - {spisok[1]}')

Возможные ошибки:

  1. BAD_ACTION => Общее неправильное формирование запроса
  2. BAD_KEY => Неверный API-ключ
  3. NO_ACTIVATION => id активации не существует
  4. ERROR_SQL => Ошибка базы SQL-сервера

Функция get_all_price

chek_price = SMS.get_all_price(strana=s, servis=r)

Где:

✅ - Обязательный аргумент

❌ - Не обязательный аргумент

  1. s => Страна номера, например 0 - Россия (Все ID стран можете посмотреть в документации API сервиса который выбрали) ✅
  2. r => Сервис номера, например vk - VK (Все сервисы вы можете посмотреть в документации API сервиса который выбрали) ❌

Примерный код:

chek_price = SMS.get_all_price(strana=0, servis='vk')
#После этого мы получим json-ответ
#Разобрать его можно таким образом:
chek_price = SMS.get_all_price(strana=0, servis='vk')
print(chek_price) => {"0":{"vk":{"cost":17,"count":42236}}}
print('Цена -', chek_price['0']['vk']['cost']) => 17
print('Кол-во доступных номерв в данный момент -', chek_price['0']['vk']['count']) => 42236

Возможные ошибки:

  1. BAD_KEY => Неверный API-ключ

Подписывайтесь на канал => https://t.me/nedo_hakckers

И заходите в ботов:

  1. https://t.me/Xacker_referral_bot
  2. https://t.me/Xacker_SMS_hub_bot
  3. https://t.me/chat_menadjer_xacker_bot