Giter Club home page Giter Club logo

mvgolubev / iin_find_bot Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 81 KB

Телеграм-бот для поиска ИИН, присвоенного негражданам Казахстана, по дате рождения и имени. Теги: найти свой ИИН, поиск ИИН, узнать свой ИИН, восстановить ИИН, подобрать ИИН, забыл свой ИИН, вспомнить ИИН, ИИН Казахстана

License: Apache License 2.0

Python 100.00%
iin kazakhstan aiogram3 bot telebot telegram

iin_find_bot's Introduction

iin_find_bot

Телеграм-бот для поиска ИИН, присвоенного негражданину Казахстана.

Для поиска ИИН боту необходимо на его запрос отправить текстом:

  • полную дату рождения;
  • имя и первую букву фамилии.

Пример работы бота можно увидеть в Telegram: @iin_find_bot

Телеграм-бот будет полезен тем негражданам Казахстана, которые:

  • ранее получили ИИН, но потом его забыли;
  • подали заявку на присвоение ИИН, но не получили уведомления о готовности с номером ИИН.

⚙️ Как это работает

  • Бот по дате рождения генерирует ~300 идущих подряд теоретически возможных ИИН для неграждан Казахстана.
  • Далее он проверяет все сгенерированные ИИН в налоговой базе через API на сайте Казпочты (сравнивает имена для всех ИИН с именем, введённым пользователем).
  • ИИН с совпавшими именами (а также ИИН с незаполненными именами в налоговой базе) далее проверяются в базе ГБД ФЛ через сайт НУЦ РК.
  • Совпадения выдаются ботом как результат поиска ИИН.

🤖 Программный код

Бот написан на языке Python v.3
В состав репозитория включены два варианта бота:

  • bot.py — вариант телеграм-бота на основе библиотеки aiogram v.3
    (зависимости для него указаны в файле requirements.txt)

  • bot2.py — вариант телеграм-бота на основе библиотеки pyTelegramBotAPI (TeleBot)
    (зависимости для него указаны в файле requirements2.txt)

Отличаются они только частью кода, в которой реализовано взаимодействие с Telegram Bot API. Вся прочая функциональность реализована в этих двух вариациях бота с помощью одного и того же программного кода.

💳 Поддержать автора (donate)

Проект некоммерческий. Если этот исходный код был вам полезен, вы можете поддержать автора донатом.

📥 Инструкция по установке

⚠️ Примечание:
Если вы просто хотите найти свой ИИН, то вам ничего устанавливать не нужно. В этом случае просто в Telegram найдите бота @iin_find_bot и на его запросы отправьте дату рождения и имя.
Скачивание и установка нужна только тем, кто сам занимается разработкой программ, хочет изучить исходный код этого бота и запустить свою копию этого бота или использовать его исходный код в своём проекте.

  1. Скачайте и установите Python 3, если он у вас ещё не установлен.

  2. Скачайте все файлы iin_find_bot из репозитория GitHub.

    а) Если вы используете Git, тогда перейдите в директорию, где вы сохраняете проекты (например: ~/Projects) и клонируйте iin_find_bot из репозитория GitHub:

    cd ~/Projects
    git clone https://github.com/mvgolubev/iin_find_bot.git

    б) Если вы НЕ используете Git, тогда можно скачать все файлы с сайта GitHub в виде одного ZIP-файла:

  3. Через диалог с телеграм-ботом @BotFather создайте своего телеграм-бота (если ещё не создали) и получите для него API Token.

  4. Перейдите в директорию с ботом. Создайте там текстовый файл с именем ".env", куда сохраните полученный от @BotFather токен вашего бота (для примера возьмём значение API Token: 1234567890:AbcDefGhiJklMnoPqrStuVwxYz) в переменную API_TOKEN
    Linux/macOS/Windows (через bash/zsh или cmd/PowerShell):

    cd iin_find_bot
    echo API_TOKEN=1234567890:AbcDefGhiJklMnoPqrStuVwxYz > ".env"
  5. Находясь в директории с ботом, создайте там виртуальное окружение Python (venv) и активируйте его:
    Linux/macOS (в терминале через bash/zsh):

    python3 -m venv .venv
    source .venv/bin/activate

    Windows (в терминале через cmd.exe или PowerShell):

    python -m venv .venv 
    .venv\Scripts\Activate
  6. В виртуальное окружение установите зависимости из файла requirements.txt (для версии бота bot.py) или из файла requirements2.txt (для версии бота bot2.py):

    pip install -r requirements.txt   
  7. Запустите телеграм-бота (на примере бота bot.py):
    Linux/macOS/Windows (через bash/zsh или cmd/PowerShell)

    python bot.py
  8. После этого можно переходить в Telegram и пробовать подключаться к своему боту.

🐧 Deploy Bot on Linux Server (Ubuntu)

  1. Prepare Bot files:
mkdir /opt/bots
cd /opt/bots
git clone https://github.com/mvgolubev/iin_find_bot.git
cd iin_find_bot
echo API_TOKEN=1234567890:AbcDefGhiJklMnoPqrStuVwxYz > ".env"
  1. Prepare Python Virtual Environment:
apt install python3-venv
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
deactivate
  1. Create systemd service file:
cd /etc/systemd/system
nano iin_find_bot.service
  1. Save config to file:
[Unit]
Description=Python bot for IIN search
After=multi-user.target

[Service]
WorkingDirectory=/opt/bots/iin_find_bot
ExecStart=/opt/bots/iin_find_bot/.venv/bin/python bot.py

Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

Ctrl-O, Enter
Ctrl-X

  1. Enable Service autostart & Start Service
systemctl daemon-reload
systemctl enable iin_find_bot.service
systemctl start iin_find_bot.service
systemctl status iin_find_bot.service

❓ FAQ

Q: Что такое ИИН?

A: ИИН (Индивидуальный Идентификационный Номер) — это уникальная последовательность из 12 десятичных цифр, которая единожды (и пожизненно) присваивается человеку в Республике Казахстан для его уникальной идентификации в банках, налоговых органах и других организациях и государственных структурах в Казахстане.

Q: ИИН - это то же, что ИНН?

A: Нет. ИНН — это в России, и только для целей налогового учёта. В Казахстане нет ИНН, там есть только ИИН, и он используется не только для целей налогового учёта, а гораздо шире, для идентификации физических лиц в самых разных сферах жизни.

Q: Кому выдаётся ИИН?

A: ИИН присваивается только физическим лицам — как гражданам Республики Казахстан (РК), так и негражданам, обратившимся за его получением.
Негражданам РК ИИН может потребоваться для:

  • открытия счетов/карт в банках Казахстана;
  • трудоустройства в Казахстане;
  • регистрации юридического лица (например ТОО) в Казахстане;
  • получения ЭЦП (электронной подписи) в Казахстане;
  • взаимодействия с государственными органами Казахстана.

Q: Какие ИИН позволяет найти этот бот?

A: Этот бот позволяет найти только ИИН, присвоенные негражданам Республики Казахстан. У таких ИИН первые 6 цифр в номере — это год, месяц и день рождения, а 7-8 цифры в номере всегда 05
ИИН, присвоенные гражданам РК, этот бот не найдёт.

Q: Бот не нашёл ИИН по указанным параметрам. Почему?

A: Есть разные варианты, почему так может происходить:

  1. Возможно, вы некорректно указали дату рождения и/или имя с первой буквой фамилии (проверьте внимательно).
  2. Возможно, заявка на получение ИИН ещё не подавалась или была подана, но ещё не обработана (повторите попытку поиска позже).
  3. Возможно, вы пытаетесь найти ИИН для гражданина Республики Казахстан. Бот ищет ИИН только для неграждан РК.
  4. Возможно, сейчас какой-то технический сбой на серверах, через которые бот проверяет ИИН (повторите попытку поиска позже).
  5. Возможно, при выпуске ИИН была допущена ошибка, и вам выпустили ИИН, у которого первые 6 цифр номера не соответствуют дате вашего рождения (YYMMDD). Такое редко, но бывает. В этом случае бот вам не поможет найти ИИН.

Q: Где бот ищет ИИН?

A: Телеграм-бот проверяет ИИН в двух базах:

  • ГБД ФЛ (Государственная база данных «Физические лица»);
  • налоговая база КГД МФ РК (база налоговой службы Казахстана).

Сразу после присвоения физическому лицу ИИН попадает в базу ГБД ФЛ.
Через 1-3 рабочих дня после присвоения ИИН должен автоматически пройти налоговую регистрацию, в результате чего он автоматически должен попасть в налоговую базу КГД МФ РК.

Q: Бот показал: "ИИН добавлен в базу налоговой: (нет)". Почему?

A: Возможно, ИИН был создан (присвоен) недавно и ещё пока не успел попасть в налоговую базу КГД МФ РК. Подождите 1-3 рабочих дня.
Если вам ИИН нужен для оформления банковской карты, то имейте в виду, что не для всех банков Казахстана требуется, чтобы ИИН был загружен в налоговую базу.

Q: Чтобы оформить банковскую карту, ИИН должен быть в налоговой базе?

A: Это зависит от банка Казахстана, в котором вы хотите оформить счета/карты.
Для открытия счетов/карт в банках Kaspi и Freedom Bank достаточно, чтобы ИИН просто существовал (был в базе ГБД ФЛ). Для открытия счетов/карт в этих двух банках не нужно ждать добавления ИИН в налоговую базу.

А для открытия счетов/карт во многих других банках Казахстана (БЦК, Forte, Home Credit, Jusan, Bereke, Halyk, RBK, Eurasian и др.) нужно, чтобы ИИН обязательно загрузился в налоговую базу. До этого обращаться в эти банки для оформления счетов/карт не имеет смысла.

Q: ИИН получен давно, но его до сих пор нет в налоговой базе. Что делать?

A: Если после присвоения ИИН прошло уже более недели, а ИИН до сих пор не попал в налоговую базу, тогда он в эту налоговую базу автоматически, скорее всего, уже сам не попадёт. Увы, такое иногда случается.

В этом случае вам нужно обратиться в любое налоговое управление КГД МФ РК (лично или по телефону). Сообщите им, что вы давно получили ИИН, но он до сих пор не попал в налоговую базу, укажите свой ИИН и попросите добавить его в налоговую базу. После этих действий уже на следующий рабочий день ИИН должен оказаться в налоговой базе.

iin_find_bot's People

Contributors

mvgolubev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.