이 Python 스크립트( vfs-appointment-bot )는 지정된 국가의 VFS Global 포털에서 약속 확인을 자동화합니다.
vfs-appointment-bot
스크립트는 두 가지 방법을 사용하여 설치할 수 있습니다.
vfs-appointment-bot
설치에 선호되는 방법입니다. 수행 방법은 다음과 같습니다.
가상 환경 만들기(권장):
python3 -m venv venv
그러면 시스템 전체 Python 설치에서 프로젝트 종속성을 격리하기 위해 venv
라는 가상 환경이 생성됩니다( 권장 ).
가상 환경을 활성화합니다:
리눅스/맥OS:
source venv/bin/activate
윈도우:
venv S cripts a ctivate
pip를 사용하여 설치:
pip install vfs-appointment-bot
그러면 vfs-appointment-bot
패키지와 해당 종속 항목이 Python 환경에 다운로드되어 설치됩니다.
대체 설치 방법의 경우 프로젝트 저장소에서 소스 코드를 복제하고 수동으로 설치하십시오.
저장소를 복제합니다.
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
프로젝트 디렉터리로 이동합니다.
cd vfs-appointment-bot
가상 환경 만들기(권장):
python3 -m venv venv
그러면 시스템 전체 Python 설치에서 프로젝트 종속성을 격리하기 위해 venv
라는 가상 환경이 생성됩니다( 권장 ).
가상 환경을 활성화합니다:
리눅스/맥OS:
source venv/bin/activate
윈도우:
venv S cripts a ctivate
종속성을 설치합니다.
pip install poetry
poetry install
극작가 종속성을 설치합니다.
playwright install
config/config.ini
템플릿을 다운로드합니다.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
vfs 자격 증명 및 알림 채널 기본 설정을 업데이트합니다. 이메일, Twilio 및 Telegram 알림 구성에 대한 자세한 내용은 알림 채널 섹션을 참조하세요.
구성 파일의 경로를 환경 변수 VFS_BOT_CONFIG_PATH
로 내보냅니다.
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
저장소를 복제하여(수동 설치) 스크립트를 설치한 경우 config/config.ini
에서 값을 직접 편집할 수 있습니다.
명령줄 인수:
스크립트에서는 -sc
또는 --source-country-code
및 -dc
또는 --destination-country-code
를 사용하여 명령줄 인수로 소스 및 대상 국가 코드(ISO 3166-1 alpha-2 기준)를 제공해야 합니다. --destination-country-code
옵션.
스크립트 실행:
필수 약속 세부정보를 제공하는 방법에는 두 가지가 있습니다.
사용자 프롬프트에 응답(권장):
vfs-appointment-bot -sc IN -dc DE
스크립트는 지정된 국가에 필요한 약속 매개변수를 입력하라는 메시지를 표시합니다.
-ap
또는 --appointment-params
사용:
공백으로 구분되지 않은 쉼표 로 구분된 키-값 형식으로 약속 세부정보를 지정합니다.
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
그런 다음 스크립트는 지정된 국가의 VFS Global 웹사이트에 연결하고, 제공되거나 입력된 매개변수를 사용하여 사용 가능한 약속을 검색하고 잠재적으로 알림을 보냅니다(구성에 따라 다름).
현재 약속 가능 여부에 대한 정보를 제공하기 위해 세 가지 알림 채널을 지원합니다.
알림 구성:
이메일:
이메일 계정: 알림을 보내려면 Gmail 계정이 필요합니다.
앱 비밀번호: 일반 비밀번호 대신 Gmail 계정용 앱 비밀번호를 생성합니다. 앱 비밀번호 생성에 대한 Google 가이드(https://support.google.com/accounts/answer/185833?hl=en)를 참조하세요.
구성 파일: 다음 세부 정보로 애플리케이션의 구성 파일( config.ini
)을 업데이트합니다.
email
(필수): 귀하의 Gmail 주소입니다.password
(필수): 생성된 Gmail 앱 비밀번호입니다.트윌리오:
Twilio 계정 만들기(필요한 경우): https://www.twilio.com/en-us에서 무료 Twilio 계정에 가입하여 계정 자격 증명과 전화번호를 얻습니다.
자격 증명 검색: Twilio 계정 대시보드에서 계정 SID, 인증 토큰 및 전화번호를 찾습니다.
구성 파일: 다음을 사용하여 애플리케이션의 구성 파일( config.ini
)을 업데이트합니다.
auth_token
(필수): Twilio 인증 토큰account_sid
(필수): Twilio 계정 SIDsms_enabled
(선택 사항): SMS 알림을 활성화합니다(기본값: True).call_enabled
(선택 사항): 음성 통화 알림을 활성화합니다. (기본값: False)url
(선택 사항): Twilio API URL(호출이 활성화된 경우에만 필요)to_num
(필수) : 알림을 받을 전화번호from_num
(필수): 메시지를 보내는 데 사용할 Twilio 전화번호전보:
텔레그램 봇 만들기: 텔레그램 봇을 만들려면 https://telegram.me/BotFather를 방문하세요. 화면의 지시에 따라 봇의 토큰을 얻으세요.
구성 파일: 다음을 사용하여 애플리케이션의 구성 파일( config.ini
)을 업데이트합니다.
bot_token
(필수): BotFather에서 얻은 Telegram 봇 토큰입니다.chat_id
(선택 사항): 알림을 받고 싶은 특정 텔레그램 채팅 ID입니다. 생략하면 봇은 메시지를 보낸 채팅에 알림을 보냅니다. 채팅 ID를 찾으려면 자신과 함께 그룹 채팅을 만든 다음 봇 내에서 /my_id
명령을 사용하면 됩니다. 다음 표에는 현재 지원되는 국가와 해당 약속 매개변수가 나열되어 있습니다.
국가 | 약속 매개변수 |
---|---|
인도(IN) - 독일(DE) | 비자_카테고리, 비자_하위_카테고리, 비자_센터 |
이라크(IQ) - 독일(DE) | 비자_카테고리, 비자_하위_카테고리, 비자_센터 |
모로코(MA) - 이탈리아(IT) | 비자_카테고리, 비자_하위_카테고리, 비자_센터, 결제_모드 |
아제르바이잔(AZ) - 이탈리아(IT) | 비자_카테고리, 비자_하위_카테고리, 비자_센터 |
참고:
1. 빈번한 요청 후 로그인 실패:
봇이 VFS 웹사이트에 너무 자주 로그인 요청을 하는 경우 VFS 시스템은 의심되는 자동화로 인해 일시적으로 액세스를 차단할 수 있습니다. 이로 인해 로그인이 실패할 수 있습니다.
2. 비정기적인 보안 문자 확인:
VFS 웹사이트는 로그인 시 CAPTCHA 확인 단계를 요구합니다. 현재 봇에는 내장된 CAPTCHA 솔버가 없습니다.
config.ini
파일에서 browser_type
"chromium" or "webkit"
으로 설정하여 다른 브라우저에서 로그인 프로세스를 다시 시도하세요.참고: 우리는 봇의 기능을 개선하기 위해 지속적으로 노력하고 있습니다. 향후 업데이트에는 통합 CAPTCHA 해결 기능이 포함될 수 있습니다.
이 스크립트는 현재 독일의 VFS 글로벌 웹사이트에서 작동하도록 설계되었습니다. 다양한 VFS Global 국가 페이지에 걸쳐 웹사이트 구조 및 매개변수 요구 사항의 잠재적인 변화를 처리하도록 스크립트를 수정하여 다른 국가에 대한 지원을 확장할 수도 있습니다.
이 프로젝트를 개선하기 위한 커뮤니티의 기여를 환영합니다! 참여 방법은 다음과 같습니다.
이 스크립트는 있는 그대로 제공되며 VFS Global과 관련이 없습니다. 이 스크립트를 사용할 때 VFS Global의 이용 약관을 준수하는지 확인하는 것은 귀하의 책임입니다. 웹사이트 구조와 약속 가용성 메커니즘은 시간이 지남에 따라 변경될 수 있다는 점에 유의하세요.