Giter Club home page Giter Club logo

why2lyj / youxiang-itchat Goto Github PK

View Code? Open in Web Editor NEW
1.2K 25.0 409.0 2.28 MB

无视微信Web无法登录问题。获取淘宝优惠券、京东优惠券、拼多多(多多客)优惠券、苏宁易购优惠券、唯品会优惠券,通过接入淘宝联盟、京东联盟、拼多多(多多进宝)、苏宁联盟(苏宁推客)、唯品会及其对应的开放平台,获取优惠商品图片和对应商品信息,利用微信机器人推送到指定群聊。

Dockerfile 0.42% Python 99.58%
taobao wechat coupon auto bot wechat-bot python3 pinduoduo jingdong suning

youxiang-itchat's Introduction

Python 3.7 itchat_vesion EverydayWechat GitHub issues Page Views Count

项目背景

无非就是想撸羊毛,自己又懒的一个一个找,一个一个发。已知目前的返佣app非常的多,比如:好省,蜜源,粉象生活,高佣联盟,芬香,花生日记,惠鲸等等。归根到底无非是利用淘宝、京东、拼多多、苏宁的开放平台做的。所以想到是否可以利用已有的开放平台来做一个属于自己的撸羊毛项目。

其实说白了就是 :

  1. 建立微信群
  2. 向微信群里发送自己的推广链接和商品图片
  3. 剩下的尽人事听天命了

功能说明

项目主要参考 EverydayWechat

  • 支持对多个微信好友自动回复。 (保留原EverydayWechat功能,自动回复仅保留智能闲聊(腾讯)
  • 群助手功能,仅保留进群自动回复及@时自动回复功能。
  • 淘宝优惠券自动分发。

    创建定时任务,通过api获取淘宝推广客的优惠信息,发送到群聊。

  • 京东优惠券自动分发。

    创建定时任务,通过api获取京东联盟的优惠信息,发送到群聊。

  • 拼多多优惠券自动分发。(接口待更,暂不可用)

    创建定时任务,通过api获取多多进宝(多宝客)的优惠信息,发送到群聊。

  • 苏宁易购优惠券自动分发。

    创建定时任务,通过官方sdk获取苏宁联盟(苏宁推客)的优惠信息,发送到群聊。

  • 唯品会优惠券自动分发(未完成)。

    创建定时任务,通过官方sdk获取唯品会的优惠信息,发送到群聊。

对于微信Web端无法登陆的小伙伴请注意

请使用 pip install itchat-uos==1.5.0.dev0 安装后,web版本可用。

配置信息

仅介绍推广客设置,其余配置请参考EverydayWechat,不做多余赘述。

参数说明:

淘宝联盟

名称 示例 必填 说明
is_open True/False 必填 是否开启淘宝联盟推广
app_key 淘宝联盟 app_key 必填 淘宝联盟申请下来的 app_key
app_secret 淘宝联盟 app_secret 必填 淘宝联盟申请下来的 app_secret
adzone_id 淘宝联盟广告位 必填 淘宝联盟推广中的广告位
chat_groups 必填 详情见举例
group_name 群名称 必填 对应微信群的群名称
group_material_id 物料id 必填 淘宝联盟material_id
minute 分钟 必填 定时任务对应的分钟,逗号分隔,注意空格
hour 小时 必填 定时任务对应的小时,逗号分隔,注意空格

京东联盟

名称 示例 必填 说明
is_open True/False 必填 是否开启京东联盟推广
app_key 京东联盟 app_key 必填 京东联盟申请下来的 app_key
app_secret 京东联盟 app_secret 必填 京东联盟申请下来的 app_secret
site_id 京东联盟网站id或app id 必填 京东联网站id或app id
chat_groups 必填 详情见举例
group_name 群名称 必填 对应微信群的群名称
group_material_id 物料id 必填 京东联盟物料id
minute 分钟 必填 定时任务对应的分钟,逗号分隔,注意空格
hour 小时 必填 定时任务对应的小时,逗号分隔,注意空格

拼多多(多多进宝、多多客)

名称 示例 必填 说明
is_open True/False 必填 是否开启拼多多推广
app_key 拼多多 Client_id 必填 拼多多申请下来的 Client_id
app_secret 拼多多 Client_secret 必填 拼多多申请下来的 Client_secret
site_id 推广位 必填 利用拼多多接口得到的推广位pid
chat_groups 必填 详情见举例
group_name 群名称 必填 对应微信群的群名称
group_material_id 栏目 非必填 保留字段,底层无用
minute 分钟 必填 定时任务对应的分钟,逗号分隔,注意空格
hour 小时 必填 定时任务对应的小时,逗号分隔,注意空格

苏宁易购(苏宁推客)

名称 示例 必填 说明
is_open True/False 必填 是否开启苏宁推广
app_key 苏宁易购 appKey 必填 苏宁易购开放平台新建应用的 appKey
app_secret 苏宁易购 secretKey 必填 苏宁易购开放平台新建应用的 secretKey
ad_book_id 推广位 必填 利用苏宁联盟得到的推广位
chat_groups 必填 详情见举例
group_name 群名称 必填 对应微信群的群名称
group_material_id 栏目 非必填 保留字段,底层无用
minute 分钟 必填 定时任务对应的分钟,逗号分隔,注意空格
hour 小时 必填 定时任务对应的小时,逗号分隔,注意空格

”实例1,每天7点到23点,每小时的第10分,第40分,将淘宝物料id:19810,发送至群聊 <口碑KFC必胜客麦当劳优惠券>:

{group_name: '口碑KFC必胜客麦当劳优惠券', group_material_id: '19810', minute: '10,40', hour: '7-23'}

实例2,每天7点,12点,15点的第30分,将淘宝物料id:3767,27448,13367,3788的优惠券,发送至群聊 <淘宝内部优惠群-女装类①> :

{group_name: '淘宝内部优惠群-女装类①', group_material_id: '3767,27448,13367,3788', minute: '30', hour: '9,12,15'}

提示 在运行程序前确保群名已经有且已经保存到通讯录

前提准备


要使用淘宝联盟的api,需要三个东西:App KeyApp Secret,广告位adzone_id

申请参考:

申请淘宝联盟api: 申请地址 文档参考

努力看文档操作,获取到 App KeyApp Secret,同时利用商品推广得到 广告位 adzone_id


要使用京东联盟api,需要App KeyApp Secret,站点IDsiteId,还有一个suowo的token

申请参考:

申请京东联盟api: 申请地址 文档参考

要使用京东联盟获取推广优惠券需要有siteId(站点ID是指在联盟后台的推广管理中的网站Id、APPID),此申请需要网站备案或有实际app。如没有尽早申请。

另外由于京东联盟生成短址的接口需要申请,申请资质要求(参考)目前非力所能及,故采用suo.mi转换短址,区别如下:

名称 短址示例 说明
京东短址 http://u.jd.com/XXXX api申请门槛高
缩我短址 http://suo.mi/XXXX 门槛低,免费

关于短址:建议选择微信或腾讯的短址服务进行转换以免被屏,没用的另外原因是没有相关token,其他网络上的api没有遇到合适的。

缩我短址在2020年7月更变域名suowo.cn,原有suo.mi依然可用,所以作者并无相关代码更变


申请苏宁易购的api请直接参考以下文档,文档来自苏宁联盟的接口人:

苏宁联盟开放平台API接入操作指导2.7-20200526.pdf


申请拼多多api接口,需要Client_idClient_secret,推广位pid

申请拼多多(多多客)api:

首先去拼多多开放平台申请一个应用 申请地址,得到Client_idClient_secret,然后去多多进宝绑定Client_id后可以调用接口接口文档,利用接口得到推广位pid

拼多多接口每天调用仅5000次


申请唯品会api:

申请唯品会只能是机构账户,机构账户的申请需要工商营业执照。如果没有营业执照的小伙伴,去订单侠申请调用api,这个是唯品会官方建议的。

如果你有工商营业执照,请查看文档继续申请唯品会联盟API接入流程文档v1.9.pdf

吐槽下唯品会,申请贼费劲,审核极慢,提交申请近一个月,才有回复。最后是加了一位唯品会内部负责人的微信才问明白。

作者没有工商营业执照,所以...也不打算继续处理唯品会了。

有消息称唯品会将于2021年7月份开放个人开发者api,若开放,本项目会主动添加该功能。尽情知晓。

快速启动

直接下载此项目或 clone 项目到本地。

使用 pip 安装依赖:

pip3 install -r requirements.txt
# 或者是使用 pip
# pip install -r requirements.txt

运行:

python main.py

扫码后,即可使用。

如果你想使用docker启动(请确保_config.yaml文件已改成指定)

  1. 首先创建镜像(请确保在项目所在目录中运行),执行

    docker build -f Dockerfile -t youxiang:1.0.0 .
  2. 启动容器,运行

    docker run -it -d --name youxiang youxiang:1.0.0
  3. 运行以下脚本获取二维码,然后微信登陆

    docker logs -f --tail=1000 youxiang

如果你不想每次都进容器改_config.yaml在第2步的时候可以将项目目录映射到本地

docker run -it -d -v $pwd:/youxiang --name youxiang youxiang:1.0.0

示例截图:


淘宝:

发送淘宝优惠信息


京东:

发送京东优惠信息


拼多多:

发送拼多多优惠信息


苏宁易购:

发送苏宁优惠信息

声明

禁止将本工具用于商业用途,如产生法律纠纷与本人无关。

本项目已经完全迁移至非Web端版本(python-wechaty版本),后期仅维护bug,不再增添新的功能,还请各位小主知晓。

Credits 致谢

本项目受以下项目或文章启发,参考了其中一部分思路,向这些开发者表示感谢。

最后最后最后还是建个群什么的做下交流。留个二维码。

备注写【github】,否则不同过哦。 加不加随意

加个starchart,在此感谢您能够专心致志的读到这里,给项目点个赞吧~

Stargazers over time

youxiang-itchat's People

Contributors

dependabot[bot] avatar why2lyj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

youxiang-itchat's Issues

扫码无反应

微信扫码后 没有报错 也没有下一步 是什么问题

安装错误,求解

Traceback (most recent call last):
File "/youxiang/main.py", line 6, in
from chat.wechat import *
File "/youxiang/chat/wechat.py", line 23, in
from chat.message import handle_friends_message, handle_groups_message, handle_group_pictures
File "/youxiang/chat/message.py", line 11, in
from untils.ad import QRcode_detection
File "/youxiang/untils/ad.py", line 5, in
import pyzbar.pyzbar as pyzbar
File "/usr/local/lib/python3.7/site-packages/pyzbar/pyzbar.py", line 7, in
from .wrapper import (
File "/usr/local/lib/python3.7/site-packages/pyzbar/wrapper.py", line 143, in
c_uint_p, # minor
File "/usr/local/lib/python3.7/site-packages/pyzbar/wrapper.py", line 136, in zbar_function
return prototype((fname, load_libzbar()))
File "/usr/local/lib/python3.7/site-packages/pyzbar/wrapper.py", line 115, in load_libzbar
libzbar, dependencies = zbar_library.load()
File "/usr/local/lib/python3.7/site-packages/pyzbar/zbar_library.py", line 65, in load
raise ImportError('Unable to find zbar shared library')
ImportError: Unable to find zbar shared library

'Unable to find zbar shared library

ubuntu16.04安装方式

sudo apt-get install libzbar-dev
pip install zbar

centos7 安装方式

yum install python-devel
yum install zbar-devel
pip install zbar

微信图片_20211117154236

优惠券图片无法发送到群聊

发送优惠券信息时,图片确实:
具体错误提示:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 160, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 84, in create_connection
raise err
File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 74, in create_connection
sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 677, in urlopen
chunked=chunked,
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 381, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 976, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 308, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 167, in _new_conn
% (self.host, self.timeout),
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x7fa3513b1d50>, 'Connection to wx.qq.com timed out. (connect timeout=10)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 725, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 439, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='wx.qq.com', port=443): Max retries exceeded with url: /cgi-bin/mmwebwx-bin/webwxsync?sid=TWr/6Hm3rfEZLeAG&skey=@crypt_1ff95946_6d5499d21fb1059cb79d2119e1b96d69&pass_ticket=WU8gouerkJ7MdUCvYBlTWKtx574TZUKB0QFAl01tko2b1wYG89dThD%2BXQWag3NjS (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fa3513b1d50>, 'Connection to wx.qq.com timed out. (connect timeout=10)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/itchat/components/login.py", line 253, in maintain_loop
msgList, contactList = self.get_msg()
File "/usr/local/lib/python3.7/site-packages/itchat/components/login.py", line 334, in get_msg
r = self.s.post(url, data=json.dumps(data), headers=headers, timeout=config.TIMEOUT)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 578, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 504, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='wx.qq.com', port=443): Max retries exceeded with url: /cgi-bin/mmwebwx-bin/webwxsync?sid=TWr/6Hm3rfEZLeAG&skey=@crypt_1ff95946_6d5499d21fb1059cb79d2119e1b96d69&pass_ticket=WU8gouerkJ7MdUCvYBlTWKtx574TZUKB0QFAl01tko2b1wYG89dThD%2BXQWag3NjS (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fa3513b1d50>, 'Connection to wx.qq.com timed out. (connect timeout=10)'))

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.