어떻게 파 이 썬 으로 위 챗 로봇 을 만들어 서 자동 으로 군 을 끌 어 당 깁 니까?
위 챗 군의 사용자 추가 논 리 는 그룹 수가 100 명 에 이 르 면 사용 자 는 더 이상 스 캔 군 QR 코드 를 통 해 가입 할 수 없고 사용자 가 먼저 그룹 내 연락처 인 위 챗 을 추가 한 다음 에 연락처 에서 사용 자 를 끌 어 들일 수 밖 에 없다 는 것 이다.이렇게 하면 연락처 의 개인 위 챗 은 낯 선 사람 을 많이 추가 하여 불필요 한 방 해 를 가 져 올 뿐만 아니 라 순수한 인공 조작 으로 도 오류 가 발생 하기 쉽다.
그렇다면 코드 를 통 해 자동 으로 무 리 를 끌 어 당 기 는 로봇 을 만 들 수 있 을 까?위 챗 로봇 으로 자동 으로 군 을 늘 리 는 기능 을 실현 하고 인공 적 으로 군 을 끌 어 당 기 는 번 거 로 움 을 영원히 해결 합 니 다.
그럼요.서진 공 자 는 Python 으로 위 챗 자동 클 라 우 드 로봇 을 만 들 고 이 를 UCloud 클 라 우 드 플랫폼 에 배치 하여 운영 했다.
이제 그 는 로봇 구축 과정 과 코드 를 모두 공유 했다.함께 보 자~
우 리 는 UCloud 에서 Linux 중국의 번역 플랫폼 을 실 행 했 습 니 다.또한 최근 에 우리 의 또 다른 프로젝트 의 운영 비밀 번 호 는 급속히 발 전 했 습 니 다.체험 군 은 곧 100 명 에 달 했 고 100 명 에 달 한 후에 사용자 로 하여 금 QR 코드 를 스 캔 하여 그룹 을 추가 하 게 할 방법 이 없 었 습 니 다.사용자 로 하여 금 우리 의 위 챗 을 추가 하 게 한 다음 에 우리 가 사용 자 를 그룹 으로 끌 어 올 릴 수 밖 에 없 었 습 니 다.이렇게 하면 매우 불편 할 뿐만 아니 라 실수 하기 도 쉽다.
그래서 우 리 는 클 라 우 드 호스트 에서 위 챗 로봇 을 운영 하고 위 챗 로봇 으로 군 을 늘 려 수 동 으로 군 을 끌 어 당 기 는 번 거 로 움 을 피 하 는 것 을 고려 했다.구체 적 인 실현 과정 은 다음 과 같다.
목차
우리 의 핵심 수 요 는 주로 두 가지 이다.
from wxpy import *
bot = Bot('bot.pkl',console_qr=True)
이 두 줄 의 코드 는 wxpy 를 도입 하여 bot 인 스 턴 스 를 만 들 었 습 니 다.이 인 스 턴 스 는 우리 의 로그 인 정 보 를 bot.pkl 에 저장 합 니 다.그러면 우 리 는 짧 은 시간 안에 로봇 이 다시 시작 할 때 다시 로그 인 하지 않 아 도 됩 니 다.다음은 사용자 의 인증 정보 에 필요 한 키워드 가 있 는 지 확인 하기 위해 함 수 를 정의 합 니 다.
'''
'''
def valid_msg(msg):
return ' ' in msg.text.lower()
또한 사용 자 를 우리 의 운영 암호 작업 군 에 초대 하 는 방법 을 정의 합 니 다.
'''
'''
def invite(user):
group = bot.groups().search('“ ” ')
group[0].add_members(user, use_invitation=True)
이 안의 관건 은 bot 의 groups 방법 으로 모든 사용 자 를 얻 고 검색 을 통 해 우리 가 원 하 는 데 이 터 를 찾 는 것 입 니 다.여기 서 나 는 데 이 터 를 사용 한 첫 번 째 결과 이다.물론,너 도 검색 할 때 ensure 를 사용 할 수 있다.하나의 배열 이 아 닌 하나의 결과 만 되 돌아 갈 수 있 도록 원 방법 을 사용 합 니 다.
우리 가 초대 할 사용 자 를 찾 으 면 group 의 add 를 사용 할 수 있 습 니 다.memebers 방법 으로 사용 자 를 단체 채 팅 에 초대 합 니 다.우리 군 은 이미 100 명의 제한 에 이 르 렀 기 때문이다.그래서 두 번 째 인 자 를 트 루 로 설정 합 니 다.
상술 한 두 가지 방법 으로 우 리 는 우리 가 사용 해 야 할 부분 을 기본적으로 완성 했다.
이제 우 리 는 로봇 으로 하여 금 우리 의 요청 소식 을 자동 으로 처리 하 게 할 것 이다.
'''
'''
@bot.register(msg_types=FRIENDS)def new_friends(msg):
user = msg.card.accept()
if valid_msg(msg):
invite(user)
else:
user.send('Hello {}, , '.format(user.name))
여기 서 가장 중요 한 것 은 첫 줄 의@bot.register(msgtype:s=FRIENDS),이 줄 코드 는 감청 기 를 등록 하여 감청 하 는 것 을 말 합 니 다.유형 은 FRIEDNS 의 소식,즉 친 구 를 추가 하 는 소식 입 니 다.그리고 새로운 함수 new 를 정 의 했 습 니 다.friends(msg),이 함수 에서 저 희 는 user 를 사용자 의 정 보 를 받 아들 이 고 그의 신분 정 보 를 얻 는 것 으로 정의 합 니 다.
그리고 valid 호출msg 방법 으로 친 구 를 추가 하 는 정보 가 존재 하 는 지 판단 하고 돌아 오 는 결과 가 사실 이 라면 초대 하 는 방법 을 사용 합 니 다.
UCloud 에 배치
다음 에 우 리 는 프로젝트 를 UCloud 클 라 우 드 호스트 에 배치 하려 고 시도 합 니 다.
호스트 만 들 기
여기 서 당신 의 외부 네트워크 IP 를 기억 하 세 요.아래 의 ip 은 당신 의 것 으로 바 꿉 니 다.
기본 환경 설치
우리 호스트 는 CentOS 7.2 를 실행 하고 있 으 며,자체 적 으로 Python 2.7.5 를 가지 고 있 으 며,wxpy 는 Python 3 에서 실행 되 어야 하기 때문에,우리 가 먼저 진행 하 는 것 은 Python 3 의 설치 입 니 다.
다음 명령 을 실행 하여 Python 3 를 설치 합 니 다.
yum install epel-release
yum install python34
그다음에 Pip 을 설치 하 겠 습 니 다.
yum install python34-setuptools
easy_install-3.4 pip
Python 3 과 pip 를 설치 하면 wxpy 를 설치 할 수 있 습 니 다.명령 행 에서 실행
pip3 install -i https://pypi.doubanio.com/simple/ -U wxpy
이로써 기초 환경 구축 작업 을 완 성 했 고 로봇 실현 코드 는 이 클 라 우 드 호스트 에서 순조롭게 운행 할 수 있 게 되 었 다.코드 리 셋 및 디자인 이념 분석
이상 은 위 챗 그룹 로봇 의 모든 실현 과정 이 고 최종 효 과 는 다음 과 같다.
위 챗 로봇 에 게 가장 중요 한 것 은 로봇 이 받 은 정보 등록 모니터 다.감청 메시지 의 유형,메시지 의 내용 을 통 해 대응 하 는 작업 을 수행 합 니 다.
예 를 들 어 내 가 감청 한 일 프 린 드 스 소식,같은 것 도 친구 소식 을 감청 할 수 있다 는 등 이다.서로 다른 감청 모델 을 통 해 우리 의 구체 적 인 기능 을 실현 하 는 것 이 핵심 이다.만약 우리 가 코드 를 간소화 한다 면,최종 코드 는
#!/usr/bin/env python3
# coding: utf-8
from wxpy import *
bot = Bot()
@bot.register(msg_types=FRIENDS)
def new_friends(msg):
최소한 의 상황 에서 이 코드 만 있 으 면 우리 가 로봇 을 시작 하기에 충분 하 다.물론 이것 은 최선 의 실천 이 아니 므 로 코드 의 가 독성 은 아직 향상 되 어야 한다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.