Coder Social home page Coder Social logo

sfyc23 / everydaywechat Goto Github PK

View Code? Open in Web Editor NEW
9.9K 205.0 2.3K 359 KB

微信助手:1.每日定时给好友(女友)发送定制消息。2.机器人自动回复好友。3.群助手功能(例如:查询垃圾分类、天气、日历、电影实时票房、快递物流、PM2.5等)

License: MIT License

Python 99.74% Dockerfile 0.26%
python python3 wechat itchat tuling bot chatbot chat ai autoreply

everydaywechat's People

Contributors

cbbfcd avatar dancingsnow avatar gengxin-zhang avatar kmykoh97 avatar kyle-kyle avatar l1cardo avatar louisloul avatar onlytre avatar qsctech-sange avatar sfyc23 avatar shaode avatar wangyulue avatar yaochaorui 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  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

everydaywechat's Issues

项目拉下来,能跑,可是就是不会提示登陆,不知是啥原因,

                                                             [100%]

=============================== warnings summary ===============================
run.py::test_run
/Users/xhchen/PycharmProjects/EverydayWechat/GFWeather.py:29: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
config = yaml.load(f)

-- Docs: https://docs.pytest.org/en/latest/warnings.html
===================== 1 passed, 1 warnings in 0.73 seconds =====================
Process finished with exit code 0

运行出错,索引超出范围

在 every_msg = soup_texts.find_all('div', class_='fp-one-cita')[0].find('a').text 语句处提示错误:
list index out of range

经过本人周末花费大半天反复测试趟过的一些坑,希望可以帮到有需要的同学~

此项目使用微信网页API,同时如果被电脑端微信登录挤下就需要重新登录或者删除自动重连相关缓存文件重新扫码登录。因为此时被电脑端微信挤下后,已经导致服务器上的热登录失效。

所以:此项目适用于一个专门作为机器人的微信小号登录。

然后还有一些bug,关于itchat的。并不是所以服务器的编码都可以正常显示二维码,本人自己挖出一种方式,需要去修改itchat终端生成二维码的方式。适用另外一个开源库 qrcode-terminal,此方式适用于服务器端二维码打印不能正常识别的同学。

修改方法

你的python依赖库/itchat/components/login.py
找到121行 替换为 qrcode_terminal.draw(''https://login.weixin.qq.com/l/' + uuid')

ModuleNotFoundError: No module named 'itchat'

Traceback (most recent call last):
File "D:/PycharmProjects/EverydayWechat/run.py", line 1, in
from GFWeather import GFWeather
File "D:\PycharmProjects\EverydayWechat\GFWeather.py", line 5, in
import itchat
ModuleNotFoundError: No module named 'itchat'

我是一个python新人,请问报这个错该怎么处理呀,能下的包我都下了的

刚刚拉项目下来,然后直接执行行run,不会出来二维码,登陆

Testing started at 15:27 ...
/usr/local/bin/python3.7 /Applications/PyCharm.app/Contents/helpers/pycharm/_jb_pytest_runner.py --path /Users/xhchen/PycharmProjects/EverydayWechat2/run.py
Launching pytest with arguments /Users/xhchen/PycharmProjects/EverydayWechat2/run.py in /Users/xhchen/PycharmProjects/EverydayWechat2

============================= test session starts ==============================
platform darwin -- Python 3.7.2, pytest-4.6.2, py-1.8.0, pluggy-0.12.0
rootdir: /Users/xhchen/PycharmProjects/EverydayWechat2collected 1 item

run.py .**************************************************
每天定时发送时间:1:48
格言获取渠道:词霸(每日英语)
女朋友的微信昵称:古典
女友所在城市名称:桂林
在一起的第一天日期:2017-10-10
最后一句为:来自最爱你的我。
女朋友的微信昵称:陈老师
女友所在城市名称:朝阳区
在一起的第一天日期:2018-11-11
最后一句为:来自你俊美的老公。


获取相关信息...
获取格言信息(双语)...
获取天气信息...
给『古典』发送的内容是:
2019年06月11日 15:27:20
宝贝这是我们在一起的第 609 天。
关好门窗,外出避开低洼地。
温度 : 23.0℃/27.0℃
北风 : <3级
空气 : 39.0
The tragedy of life is not so much what men suffer, but what they miss.
生活的悲剧不在于人们受多少苦,而在于人们错过了什么。
来自最爱你的我。

获取天气信息...
给『陈老师』发送的内容是:
2019年06月11日 15:27:20
宝贝这是我们在一起的第 212 天。
阴晴之间,谨防紫外线侵扰。
温度 : 22.0℃/32.0℃
西风 : <3级
空气 : 76.0
The tragedy of life is not so much what men suffer, but what they miss.
生活的悲剧不在于人们受多少苦,而在于人们错过了什么。
来自你俊美的老公。

发送成功...

                                                             [100%]

=========================== 1 passed in 0.97 seconds ===========================
Process finished with exit code 0

老哥我是小白可以帮我看看不

D:\devtools\Python38\python.exe E:/PyCharmSpace/Python-X/cn/love/GFWeather.py
Traceback (most recent call last):
File "E:/PyCharmSpace/Python-X/cn/love/GFWeather.py", line 247, in
gfweather().start_today_info(True)
File "E:/PyCharmSpace/Python-X/cn/love/GFWeather.py", line 20, in init
self.girlfriend_list, self.alarm_hour, self.alarm_minute, self.dictum_channel = self.get_init_data()
File "E:/PyCharmSpace/Python-X/cn/love/GFWeather.py", line 28, in get_init_data
config = load(f, loader=yaml.FullLoader)
TypeError: load() got an unexpected keyword argument 'loader'

girlfriend_infos配置项建议换成girlfriend_info

女朋友用复数?

  • 首先,能用这个程序的大多数是程序猿,能有一个女朋友就不错了;
  • 其次,同时拥有多个女朋友那不是渣男吗,不符合社会主义核心价值观

综上所述,用单数会不会更好?:joy:

girlfriend_list = []
girlfriend_infos = config.get('girlfriend_infos')
for girlfriend in girlfriend_infos:
girlfriend.get('wechat_name').strip()
# 根据城市名称获取城市编号,用于查询天气。查看支持的城市为:http://cdn.sojson.com/_city.json
city_name = girlfriend.get('city_name').strip()
city_code = city_dict.city_dict.get(city_name)
if not city_code:
print('您输入的城市无法收取到天气信息')
break
girlfriend['city_code'] = city_code
girlfriend_list.append(girlfriend)
print_msg = f"女朋友的微信昵称:{girlfriend.get('wechat_name')}\n\t女友所在城市名称:{girlfriend.get('city_name')}\n\t" \
f"在一起的第一天日期:{girlfriend.get('start_date')}\n\t最后一句为:{girlfriend.get('sweet_words')}\n"
init_msg += print_msg

locale报错

看了下closed的issue, 改了一下GFweather.py里边的对应行,依然提示unsupported locale setting。难道是英文系统的锅?

小白求教。

提示昵称错误?调试没错误,扫码登陆提示昵称错误?

Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Log in time out, reloading QR code.
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
Login successfully as Lc
登录成功
昵称错误

求大佬翻牌喵喵吖

发消息提示ValueError: time data ' ' does not match format '%Y-%m-%d'

登录成功


获取相关信息...
获取格言信息..
获取天气信息..
Job "gfweather.start_today_info (trigger: cron[hour='0', minute='57'], next run at: 2019-06-08 00:57:00 CST)" raised an exception
Traceback (most recent call last):
File "C:\Python\Python37\lib\site-packages\apscheduler\executors\base.py", line 125, in run_job
retval = job.func(*job.args, **job.kwargs)
File "D:\EverydayWechat-master\GFWeather.py", line 141, in start_today_info
sweet_words=sweet_words)
File "D:\EverydayWechat-master\GFWeather.py", line 233, in get_weather_info
start_datetime = datetime.strptime(start_date, "%Y-%m-%d")
File "C:\Python\Python37\lib_strptime.py", line 577, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Python\Python37\lib_strptime.py", line 359, in _strptime
(data_string, format))
ValueError: time data ' ' does not match format '%Y-%m-%d'

挺好玩

亲测有效,感谢博主分享的源码,但是不知道为什么使用 pycharm 运行 run.py 的时候没有弹出登录二维码,使用 cmd 运行 python run.py 才会弹出二维码,有其他小伙伴遇到这样的情况吗?

运行时出现语法错误

File "run.py", line 6
SyntaxError: Non-ASCII character '\xe4' in file run.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

求助,项目编译有点问题

我是写java的, py是小白,求助大佬
运行run.py后报以下错误:
ModuleNotFoundError: No module named 'yaml'
同时在GFWeather.py中, import yaml的“yaml”编译报错 :No module named 'yaml'

运行了之后报错

不论是在cmd还是在pycharm中,运行之后都会报错,求助
Traceback (most recent call last):
File "run.py", line 21, in
run()
File "run.py", line 9, in run
gfweather().run()
File "D:\git\git\repository\pythonHomework\EverydayWechat\GFWeather.py", line 18, in init
self.girlfriend_list, self.alarm_hour, self.alarm_minute, self.dictum_channel = self.get_init_data()
File "D:\git\git\repository\pythonHomework\EverydayWechat\GFWeather.py", line 37, in get_init_data
girlfriend.get('wechat_name').strip()
AttributeError: 'NoneType' object has no attribute 'get'

name_uuid

name_uuid 怎么获取的 我的微信号是如何登录的呢?

requests.exceptions.SSLError

requests.exceptions.SSLError: HTTPSConnectionPool(host='login.weixin.qq.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')))

You can't get access to internet or wechat domain, so exit.

weather api网站更换了域名

每天发送的数据为none,因为天气API更换了域名,需要修改
weather_url = f'http://t.weather.itboy.net/api/weather/city/{city_code}'

断网后程序会中断

即拿即用,抱拳了老铁。网络不太稳定,一掉线程序就会中断。怎么样才能保证只要在发送时间有网就能发送成功,而其他时间就算断网了程序还能继续跑呢?

网页登录会自动超时

程序挂上以后第二天会登录超时,请问一下自动超时时间,或者有没有办法避免他自动超时

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.